Der Inhalt dieses Artikels befasst sich mit dem Singleton-Modus des PHP-Designmusters. Jetzt kann ich ihn mit Ihnen teilen.
Singleton-Modus. Singleton) ist ebenfalls einer der kreativen Modi und nicht schwer zu verstehen
Nach dem Lesen einiger Informationen ist der Task-Manager die grundlegendste Anwendung.
Tatsächlich ist mein persönliches Verständnis, dass kein zweites identisches Objekt erstellen kann .
Das Programm ermittelt intern, ob das Objekt erstellt wurde. Wenn nicht, erstellen Sie es. Wenn es bereits vorhanden ist, verwenden Sie es direkt.
hat einige einfache Aufzeichnungen wie folgt erstellt:
<?php /** Singleton * 单例模式类 * @static $obj * @var $hero */ class Singleton { // 创建静态对象变量 private static $obj = null; // 当前对象里面的人物 public $hero; //实例化对象变量方法,供外部调用 public static function getInstance() { // 判断对象是否创建 if(empty(self::$obj)) { // 如果没有创建对象 创建并保存 self::$obj = new Singleton(); } // 如果创建了直接返回 return self::$obj; } }
<?php // 单例模式 index.php header("Content-Type:text/html;charset=utf-8"); require_once "Singleton.php"; // 第一次调用实例化对象变量方法 $single1 = Singleton::getInstance(); // 给 hero赋值为 诸葛亮 $single1->hero = "诸葛亮"; echo "single1创建的英雄为:{$single1->hero}<br/>"; // 第二次调用实例化对象变量方法 程序会判断出对象已经创建过,直接使用。 $single2 = Singleton::getInstance(); // 给hero赋值为 周瑜,会直接覆盖第一次的诸葛亮 $single2->hero = "周瑜"; echo "single1创建的英雄为:{$single1->hero}<br/>"; echo "single2创建的英雄为:{$single2->hero}<br/>";
Das Ausgabeergebnis ist:
Der von Single1 erstellte Held ist: Zhuge Liang
Der von Single1 erstellte Held ist: Zhou Yu
Der von Single2 erstellte Held ist: Zhou Yu
Verwandte Empfehlungen:
Abstract Factory of PHP Design Pattern
Factory Method of PHP Design Pattern
PHP Design Pattern Simple Factory
Das obige ist der detaillierte Inhalt vonPHP-Designmuster-Singleton-Muster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!