私は以前 Java 開発をしていたので、シングルトン モードを使用するときに最初に考えたのは、空腹の中国語スタイルを使用することでした。その後、PHP にはそのような機能があることに気付きました。クラスが定義されるときにクラスを与える メンバー変数には非基本型の値が割り当てられます。式、新しい演算など。代わりに、このシングルトン モードのアトミック性を確保したいと考えました。その結果、PHP には JAVA のようなスレッド セーフティの問題がないことがわかりました。
ねえ、PHP は良いと思いますか? OK、それでは PHP の遅延シングルトン モードを試してみましょう。
関連する推奨事項: 「PHP チュートリアル 」
1. 3 つのプライベートと 1 つのパブリック:
①. プライベート静的属性, 次に、生成された一意のオブジェクト
②、プライベート コンストラクター
③、クローン作成を防ぐためのプライベート クローン関数 - clone
④、静的に保存されたオブジェクトにアクセスするためのパブリック スタティック メソッドを保存します。オブジェクトがない場合は、このシングルトンが生成されます
2. キーワードinstanceof
この変数がオブジェクトであるか、このクラスのサブクラスであるかを確認するか、インターフェース。
1. プライベート __construct が必要です。シングルトン クラスは他のクラスでインスタンス化できませんが、それ自体でのみインスタンス化できます。
2. 保存されたクラスのインスタンスを持つ 静的メンバー変数;
3. このクラスをインスタンス化し、このクラスのインスタンスにアクセスするには、静的パブリック メソッドが使用されます;
class SingleInstance{ private function _construct(){ } private static $instance; private function _clone(){ } public static function getInstance(){ if(!self::$instance instanceof SingleInstance){ self::$instance=new SingleInstance(); } return self ::$instance; } }
以上がPHPにおけるシングルトンパターンの実装についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。