PHP 設計パターン: PHP シングルトン パターンの簡単な説明 (コード付き)

不言
リリース: 2023-04-03 15:58:01
オリジナル
2719 人が閲覧しました

#デザインパターンとは何ですか?パターンとは、特定の環境における同様の問題に対する解決策です。パターンは、再利用可能なオブジェクト指向ソフトウェアの基礎です。実際には、多くの PHP 設計パターンがあります。そこで、今日は、シングルトン パターンを実装する PHP について説明します。

概念:

デザイン パターンはベスト プラクティスを表しており、通常は経験豊富なオブジェクト指向ソフトウェア開発者によって採用されます。デザイン パターンは、ソフトウェア開発プロセス中にソフトウェア開発者が直面する一般的な問題に対する解決策です。これらのソリューションは、多数のソフトウェア開発者による長期間にわたる試行錯誤の結果です。

php シングルトン モード定義 PHP シングルトン モードは、一般的に使用される PHP ソフトウェア設計パターンです。そのコア構造には、シングルトンと呼ばれる特別なクラスが 1 つだけ含まれています。 PHP シングルトン モードでは、システム内でこのモードが適用されるクラスのインスタンスが 1 つだけであることが保証され、PHP シングルトン モードは自身をインスタンス化し、このインスタンス化されたクラスをシステム全体に提供します。

php シングルトン モード コード:

<?php
    class preferences
    {
        private $props = array();        
        private static $instance;        
        private function __construct(){}        
        public static function getInstance()
        {
            if(empty(self::$instance))
            {                
            self::$instance = new preferences();
            }            
            return self::$instance;
        }        
        public function setProperty($key,$value)
        {
            $this->props[$key] = $value;
        }        
        public function getProperty($key)
        {
            return $this->props[$key];
        }
    }    $ref = preferences::getInstance();    
    $ref->setProperty(&#39;name&#39;,&#39;ypp&#39;);    
    unset($ref);//移除引用
    //var_dump(preferences::getInstance());
    // echo $ref->getProperty(&#39;name&#39;);
    $ref2 = preferences::getInstance();//值并未丢失
    echo $ref2->getProperty(&#39;name&#39;); //这里输出ypp
ログイン後にコピー

概要クラスを定義することで、外部からアクセスできないようにプライベート コンストラクターを定義します。インスタンス化を通じてこのクラスのプロパティとメソッドを取得し、クラスに静的メソッドを定義します。この静的メソッドにアクセスしてクラスをインスタンス化すると、このクラスのプロパティとメソッドにグローバルにアクセスし、これをシステム全体に提供できるようになります。親切。

おすすめ関連記事:

PHP シングルトン モードとは? php でシングルトン モードを実装する方法、php モード

PHP デザイン パターン シングルトン パターン

PHP デザイン パターン シングルトン パターン コード,PHP デザイン パターン

以上がPHP 設計パターン: PHP シングルトン パターンの簡単な説明 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート