이 글은 PHP 디자인 패턴의 싱글턴 모드를 소개합니다. 이제 여러분과 공유합니다.
싱글턴 도 생성 유형 중 하나입니다. 이해하기 어렵지 않습니다. 일부 정보를 읽은 후 가장 기본적인 응용 프로그램은 작업 관리자입니다.
사실 제가 개인적으로 이해한 바는
두 번째 동일한 개체를 만들 수 없다는 것입니다. 프로그램은 객체가 생성되었는지 여부를 내부적으로 확인합니다. 이미 존재하는 경우 직접 생성합니다.
<?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/>";
출력 결과는 다음과 같습니다.
single1이 만든 영웅: Zhuge Liang
single1이 만든 영웅: Zhou Yu
Single2가 만든 영웅 대상: Zhou Yu
관련 추천:
Abstract Factory of PHP 디자인 패턴
위 내용은 PHP 디자인 패턴 싱글턴 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!