> 백엔드 개발 > PHP 튜토리얼 > PHP 디자인 패턴 싱글턴 패턴

PHP 디자인 패턴 싱글턴 패턴

不言
풀어 주다: 2023-03-24 09:54:02
원래의
1576명이 탐색했습니다.

이 글은 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 디자인 패턴

Factory Method of PHP 디자인 패턴

Simple Factory of PHP 디자인 패턴

위 내용은 PHP 디자인 패턴 싱글턴 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿