ホームページ >バックエンド開発 >PHPチュートリアル >PHPシングルトンモードの利用シナリオと利用方法

PHPシングルトンモードの利用シナリオと利用方法

coldplay.xixi
coldplay.xixi転載
2020-07-03 17:47:493266ブラウズ

PHPシングルトンモードの利用シナリオと利用方法

クラスにはオブジェクト インスタンスが 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 サイトの他の関連記事を参照してください。

声明:
この記事はliqingbo.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。