ホームページ  >  記事  >  バックエンド開発  >  PHPオブジェクトインスタンス化シングルトンメソッドの詳細説明

PHPオブジェクトインスタンス化シングルトンメソッドの詳細説明

怪我咯
怪我咯オリジナル
2017-07-12 11:30:131447ブラウズ

シングル ケース モード (責任モード):

簡単に言うと、オブジェクト ( デザイン パターン を学ぶ前に、オブジェクト指向の考え方について詳しく知る必要があります) は、特定のタスクのみを担当します。

シングルトン クラス:

1 コンストラクターはプライベートとしてマークする必要があります (アクセス制御: 外部コードがオブジェクトを作成するために new 演算子を使用することを防ぐため)。シングルトン クラスは他のクラスでインスタンス化できず、それ自体でのみインスタンス化できます。 2. クラスのインスタンスを保存する静的メンバー変数を用意します

3. このインスタンスにアクセスするためのパブリック静的メソッドを用意します (通常、getInstance() メソッドはシングルトン クラスをインスタンス化するために使用され、instanceof 演算子はクラスがインスタンス化されているかどうかを検出します))

さらに、オブジェクトがコピー (クローン作成) されるのを防ぐために clone() メソッドを作成する必要があります

なぜ PHP シングルトン モードを使用するのでしょうか?

1. PHP のアプリケーションは主にデータベース アプリケーションにあるため、アプリケーション内で多数の

データベース操作

が行われるため、新しい操作による大量のリソースの消費を回避できます。

2. システム内の特定の構成情報をグローバルに制御するためにクラスが必要な場合は、ZF の FrontController セクションにあるシングルトン モードを使用して簡単に実装できます。

3. ページリクエストでは、すべてのコード (データベース操作クラス db など) が 1 つのクラスに集中しているため、クラス内にフックを設定し、どこでも var_dump や echo を回避できるため、デバッグが簡単です。

この記事では、PHP で

オブジェクト

シングルのインスタンスを作成する方法を主に紹介します。これは非常に参考になります。エディターで見てみましょう


PHP がオブジェクト シングルトンをインスタンス化する方法:

3 つ。プライベートと 1 つのパブリック: 2 つのプライベート メソッド、1 つのプライベート

プロパティ

、1 つのパブリック メソッド

  private function construct(){} //不可以继承构造方法
  private function clone(){}//不可以继承克隆方法
  privare static $_instance;
1 つのパブリック

public static function getinstance(){
    if(!isset(static:$_instance)){
      static::$_instance=new static();
      }
      return static::$_instance;
  }

以上がPHPオブジェクトインスタンス化シングルトンメソッドの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。