Le contenu de cet article concerne le mode singleton du modèle de conception PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Mode Singleton (. Singleton) est également l'un des modes créatifs, et ce n'est pas difficile à comprendre
Après avoir lu quelques informations, l'application la plus basique est le gestionnaire de tâches.
En fait, ma compréhension personnelle est que ne peut pas créer un deuxième objet identique .
Le programme déterminera en interne si l'objet a été créé. Sinon, créez-le. S'il existe déjà, utilisez-le directement.
a réalisé quelques enregistrements simples, comme suit :
<?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/>";
Le résultat de sortie est :
Le héros créé par single1 est : Zhuge Liang
Le héros créé par single1 est : Zhou Yu
Le héros créé par single2 est : Zhou Yu
Recommandations associées :
Usine abstraite de modèles de conception PHP
Méthode d'usine de modèles de conception PHP
Modèle de conception PHP Simple Factory
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!