PHP デザイン パターンの入門 - Singleton Pattern_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:45:28
オリジナル
802 人が閲覧しました

PHP デザインパターン入門 - シングルトンパターン

日常の開発プロセスでは、データベース接続など、繰り返しインスタンス化する必要のないクラスが発生することがよくあります。この場合、シングルトン モードが最適なソリューションです。前回のインタビューでたまたまこのモデルについて聞かれたので、今日はここでまとめてみます。

まず最も単純なシングルトン パターンの実装を見てみましょう:

リーリー

しかし、ユーザーは new キーワードを通じて新しいオブジェクトをインスタンス化できるため、このように記述するだけでは、厳密な意味では真のシングルトン パターンではありません。

リーリー 実行結果は次のとおりです。

そこで、コードに少し改良を加えて、コンストラクターのアクセス レベルを protected に設定します。

リーリー

もちろん、狡猾なユーザーは clone キーワードを使用して新しいオブジェクトのクローンを作成できます:

リーリー
操作結果:

したがって、 __clone メソッドを保護されたものとして宣言する必要もあります。

リーリー

したがって、厳密な意味でシングルトン パターンを実装するには、次の点に注意する必要があります:

1. コンストラクターを保護として宣言します。

2. getInstance の静的メソッドを作成して、クラスを保存する静的変数を取得します。

3. __clone メソッドを保護として宣言します

もちろん、実際の開発では、ほとんどの場合、単純なシングルトン パターン (最初の例の書き方) を実装するだけで十分です。

http://www.bkjia.com/PHPjc/1040917.html

tru​​ehttp://www.bkjia.com/PHPjc/1040917.html技術記事 PHP デザイン パターンの紹介 - シングルトン モード 日々の開発プロセスでは、データベース接続など、繰り返しインスタンス化する必要のないクラスに遭遇することがよくあります。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート