クラスにはオブジェクト インスタンスが 1 つだけあります。
1. 意味
オブジェクト作成モードとして、シングルトン モードでは、特定のクラスがオブジェクト インスタンスを 1 つだけ持つことが保証されます。そして、それを自分でインスタンス化し、このインスタンスをシステム全体にグローバルに提供します。インスタンスのコピーは作成されませんが、シングルトン クラス内に格納されているインスタンスへの参照を返します。
関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで
2. シングルトン モードの 3 つの重要なポイント:
( 1). クラスの唯一のインスタンスを保存するには、静的メンバー変数が必要です:
private static $_instance;
(2). 外部プログラムが新しいクラスを作成して、その結果、シングルトン モードの意味。:
private function __construct(){ $this->_db = pg_connect('xxxx'); } private function __clone(){ }//覆盖__clone()方法,禁止克隆
(3)。このインスタンスにアクセスするにはパブリック静的メソッド (通常は getInstance メソッド) を提供する必要があります。これにより、唯一のインスタンス
public static function getInstance(){ if(! (self::$_instance instanceof self) ){ self::$_instance = new self(); } return self::$_instance;
シングル ケース モード クラスにインスタンスが 1 つだけあることを確認し、クラス自体をインスタンス化し、このインスタンスをシステム全体に提供します。
シングルトン モードは一般的な設計パターンであり、コンピュータ システムでは、スレッド プール、キャッシュ、ログ オブジェクト、ダイアログ ボックス、プリンタ、データベース操作、グラフィック カード ドライバがシングルトンとして設計されることがよくあります。
シングルトン モードには、lazy-style シングルトン、hungry-style シングルトン、registration-style シングルトンの 3 種類があります。
シングルトン モードには、次の 3 つの特徴があります。
1.インスタンスは 1 つだけ存在できます。
2.このインスタンスは自分で作成する必要があります。
3.このインスタンスは他のオブジェクトに提供する必要があります。
では、なぜ PHP シングルトン モードを使用するのでしょうか?
PHP の主要なアプリケーション シナリオの 1 つは、アプリケーションがデータベースを扱うシナリオです。アプリケーションでは、多数のデータベース操作が発生します。データベース ハンドルの接続動作については、データベースに対してシングルトン モードを使用すると、大量の操作を回避できます。新しい操作が行われるたびにシステム リソースとメモリ リソースが消費されるためです。
rree以上がPHPシングルトンモードの利用シナリオと利用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。