ホームページ バックエンド開発 PHPチュートリアル PHP5.3の新機能を上手に活用してシングルトンモードを実装する_PHPチュートリアル

PHP5.3の新機能を上手に活用してシングルトンモードを実装する_PHPチュートリアル

Jul 13, 2016 am 10:41 AM
3 php5 利用 新機能

5.3 より前でも実装できますが、コードは次のように複雑になります。

クラス MOrder は SModel を拡張します{
protected static $handle; //単一ケースのハンドル

プライベート関数 __construct(){
//何か
}

/**
* このタイプのシングルトン、public のメソッドを取得します
*
* @return MOrder
*/
パブリック静的関数instance() {
if(self::$handle){
自分自身を返す::$ハンドル;
}

$class = __CLASS__;
self::$handle = 新しい $class();
自分自身を返す::$ハンドル;
}

//その他

}


5.3 遅延静的バインディングを追加する (この言葉は本当に厄介です)

コードは次のように実装されます

クラス SModel {
/**
* シングルトンハンドルを取得し、特定のモデルクラスのインスタンスオブジェクトを返します
*/
保護された静的関数instance() {
if(静的::$ハンドル){
静的::$ハンドルを返します;
}

$class = get_called_class();
static::$handle = 新しい $class();
静的::$ハンドルを返します;
}

//親クラスの何か

}


クラス MGoods は SModel を拡張します{
/**
* このタイプのシングルトン、public のメソッドを取得します
* @return MGoods
*/
パブリック静的関数instance(){
親を返す::インスタンス();
}
protected static $handle; //単一ケースのハンドル
保護された関数 __construct(){
//何か
}

//その他

}


修正により、サブクラスの実装コードの一部を削減し、親クラスで実装しました

正直、まだ非常に面倒です。PHP が単独でシングルトンを実装した方が良いでしょう。


http://www.bkjia.com/PHPjc/678027.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/678027.html技術記事 5.3 より前でも実装できますが、コードは次のように複雑になります。 class MOrder extends SModel{ protected static $handle; //single case handle private function __construct(){ //something } /** * このクラスを取得します。 ...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

php5とphp8の違いは何ですか php5とphp8の違いは何ですか Sep 25, 2023 pm 01:34 PM

php5 と php8 の違いは、パフォーマンス、言語構造、型システム、エラー処理、非同期プログラミング、標準ライブラリ関数、セキュリティの点です。詳細な紹介: 1. パフォーマンスの向上. PHP5 と比較して、PHP8 はパフォーマンスが大幅に向上しています. PHP8 では、高頻度の実行コードをコンパイルおよび最適化できる JIT コンパイラーが導入されており、それによって実行速度が向上しています; 2. 言語構造の改善、 PHP8 では、いくつかの新しい言語構造と関数が導入されており、PHP8 では名前付きパラメータがサポートされており、開発者はパラメータの順序などの代わりにパラメータ名を渡すことができます。

プロジェクトドキュメント管理に GitLab を使用する方法 プロジェクトドキュメント管理に GitLab を使用する方法 Oct 20, 2023 am 10:40 AM

プロジェクトドキュメント管理に GitLab を使用する方法 1. 背景の紹介 ソフトウェア開発プロセスにおいて、プロジェクトドキュメントは非常に重要な情報であり、開発チームがプロジェクトのニーズと設計を理解するのに役立つだけでなく、テストチームの参考にもなります。そして顧客。プロジェクト ドキュメントのバージョン管理とチーム コラボレーションを容易にするために、プロジェクト ドキュメント管理に GitLab を使用できます。 GitLab は Git をベースとしたバージョン管理システムであり、コード管理をサポートするだけでなく、プロジェクト ドキュメントの管理も行うことができます。 2. GitLabの環境設定 まず、

PHP 8.3 リリース: 新機能の概要 PHP 8.3 リリース: 新機能の概要 Nov 27, 2023 pm 12:52 PM

PHP8.3 リリース: 新機能の概要 テクノロジーが発展し、ニーズが変化するにつれて、プログラミング言語は常に更新され、改善されています。 Web 開発で広く使用されているスクリプト言語として、PHP は開発者により強力で効率的なツールを提供するために絶えず改良されてきました。最近リリースされた PHP 8.3 バージョンには、待望の新機能と改善点が多数含まれています。これらの新機能の概要を見てみましょう。 null 以外のプロパティの初期化 PHP の過去のバージョンでは、クラス プロパティに明示的に値が割り当てられていない場合、その値は

php5でポート80を変更する方法 php5でポート80を変更する方法 Jul 24, 2023 pm 04:57 PM

php5 でポート 80 を変更する方法: 1. Apache サーバー設定ファイルのポート番号を編集します; 2. PHP 設定ファイルを編集して、PHP が新しいポートで動作することを確認します; 3. Apache サーバーを再起動すると、PHP アプリケーションが起動します。新しいポートで実行を開始します。ポートで実行します。

TikTokのおすすめ動画とはどういう意味ですか? Douyin を使って動画を推奨するにはどうすればよいですか? TikTokのおすすめ動画とはどういう意味ですか? Douyin を使って動画を推奨するにはどうすればよいですか? Mar 27, 2024 pm 03:01 PM

世界的に有名なショートビデオソーシャルプラットフォームとして、Douyin は独自のパーソナライズされた推奨アルゴリズムで多くのユーザーの支持を獲得しています。この記事では、読者がこの機能をよりよく理解し、最大限に活用できるように、Douyin ビデオ レコメンデーションの価値と原則について詳しく説明します。 1. Douyin 推奨ビデオとは何ですか? Douyin 推奨ビデオは、インテリジェントな推奨アルゴリズムを使用して、ユーザーの興味や行動習慣に基づいてパーソナライズされたビデオ コンテンツをフィルタリングしてプッシュします。 Douyin プラットフォームは、ユーザーの視聴履歴、いいねやコメントの行動、共有記録、その他のデータを分析し、膨大な動画ライブラリからユーザーの好みに最適な動画を選択して推奨します。このパーソナライズされたレコメンデーション システムは、ユーザー エクスペリエンスを向上させるだけでなく、ユーザーが自分の好みに合ったビデオ コンテンツをより多く発見できるようにすることで、ユーザーの定着率と維持率を向上させます。この時点で

PHP8 の新機能を学び、最新テクノロジーを深く理解するためのガイド PHP8 の新機能を学び、最新テクノロジーを深く理解するためのガイド Dec 23, 2023 pm 01:16 PM

最新テクノロジーを習得するために役立つ、PHP8 の新機能の詳細な分析 PHP プログラミング言語は、時間の経過とともに常に進化し、改善されています。最近リリースされた PHP8 バージョンは、開発者に多くのエキサイティングな新機能と改善を提供し、開発作業にさらなる利便性と効率をもたらします。この記事では、PHP8 の新機能を詳しく分析し、これらの最新テクノロジーをよりよく習得するのに役立つ具体的なコード例を提供します。 JIT コンパイラー PHP8 では JIT (Just-In-Time) コンパイルが導入されています

BlendOS 3: 最大 9 つの Linux ディストリビューションをサポートする不変ディストリビューション システムが間もなくリリースされます BlendOS 3: 最大 9 つの Linux ディストリビューションをサポートする不変ディストリビューション システムが間もなくリリースされます Jun 06, 2023 pm 05:11 PM

6月6日のニュースによると、開発者のRudraSaraswat氏は、開発中の不変ディストリビューションシステム「blendOS3」を発表し、ユーザーに新機能を提供すると約束した。このシステムは最大 9 つの Linux ディストリビューションをサポートし、パッケージ リポジトリを使用せずに更新する新しい方法を提供します。編集者の理解によると、blendOS3はArchLinux、FedoraLinux、Ubuntuを統合したディストリビューションシステムです。今年 4 月にリリースされた BlendOS2 の時点で、システムには WayDroid テクノロジーが導入され、ユーザーはシステム上で Android アプリケーションを実行できるようになりました。 BlendOS3 によってもたらされた最大の変更の 1 つは、まったく新しいアップデートです。

php8の新機能は何ですか php8の新機能は何ですか Sep 25, 2023 pm 01:34 PM

php8 の新機能には、JIT コンパイラ、型推論、名前付きパラメータ、共用体型、プロパティ、エラー処理の改善、非同期プログラミングのサポート、新しい標準ライブラリ関数、匿名クラス拡張機能が含まれます。詳細な紹介: 1. JIT コンパイラー、PHP8 は、重要なパフォーマンスの向上である JIT コンパイラーを導入します。JIT コンパイラーは、一部の高頻度の実行コードをリアルタイムでコンパイルおよび最適化できるため、実行速度が向上します。2. 型導出、PHP8型推論機能を導入し、開発者が変数宣言時などに変数の型を自動的に推測できるようにします。

See all articles