この記事の例では、PHP デザイン パターンのシングルトン モードについて説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
シングルケースモード (責任モード):
簡単に言うと、オブジェクト (デザイン パターンを学ぶ前にオブジェクト指向の考え方を理解する必要があります) は特定のタスクのみを担当します。
単一インスタンスクラス:
1. コンストラクターはプライベートとしてマークする必要があります (アクセス制御: 外部コードが new 演算子を使用してオブジェクトを作成するのを防ぐため)。シングルトン クラスは他のクラスでインスタンス化できず、それ自体でのみインスタンス化できます。 2. クラスのインスタンスを保持する静的メンバー変数を用意します
3. このインスタンスにアクセスするためのパブリック静的メソッドを用意します (一般的に getInstance() メソッドはシングルトン クラスをインスタンス化するために使用され、instanceof 演算子はクラスがインスタンス化されたかどうかを検出するために使用できます)
さらに、オブジェクトがコピー (クローン作成) されるのを防ぐために __clone() メソッドを作成する必要があります
1. PHP は主にデータベース アプリケーションで使用されるため、アプリケーション内で大量のデータベース操作が行われるため、新しい操作によって大量のリソースが消費されることを回避できます。
2. システム内で特定の構成情報をグローバルに制御するクラスが必要な場合は、ZF の FrontController セクションにあるシングルトン モードを使用して簡単に実装できます。
3. ページリクエストでは、すべてのコード (データベース操作クラス db など) が 1 つのクラスに集中しているため、クラス内にフックを設定し、どこでも var_dump や echo を回避してログを出力できるため、デバッグが簡単です。
リーリー
http://www.bkjia.com/PHPjc/960709.html