ホームページ  >  記事  >  バックエンド開発  >  PHPにおけるシングルトンパターンの実装について

PHPにおけるシングルトンパターンの実装について

藏色散人
藏色散人転載
2019-12-04 17:07:482147ブラウズ

私は以前 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 サイトの他の関連記事を参照してください。

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