>백엔드 개발 >PHP 문제 >PHP 싱글톤 모드는 무엇을 의미하나요?

PHP 싱글톤 모드는 무엇을 의미하나요?

Guanhui
Guanhui원래의
2020-05-07 17:16:492519검색

PHP 싱글톤 모드는 무엇을 의미하나요?

PHP 싱글턴 모드란 무엇을 의미하나요?

클래스는 인스턴스가 하나만 있고 자체적으로 인스턴스화한 후 전체 프로그램에 제공되거나 이 클래스가 인스턴스를 갖고 있음을 보장하는 것으로 이해될 수 있습니다. 단 하나의 인스턴스와 글로벌 액세스 포인트가 외부 세계에 제공되어 이에 액세스합니다.

php 싱글톤 패턴 예제

class Singleton {
    private static $_instance;//保存实例化出来的单例
//构造函数私有化,确保单例类不能通过其它对象 new 出来
    private final function __construct() {}
//定义私有的__clone()方法,这是确保单例类不能被复制或克隆,否则又不是单例了。
    private function __clone() {}
    public static function getInstance() {
//检测类是否被实例化,如果没有实例化,就 new 一下,已经实例化就直接返回。
        if ( ! (self::$_instance instanceof self) ) {
            self::$_instance = new test();
        }
        return self::$_instance;
    }
}

//拿到单例实例,多次调用都是同一个实例
Singleton::getInstance();

장점

1. 고유한 인스턴스에 대한 제어된 액세스를 제공합니다.

2. 시스템 메모리에는 개체가 하나만 있으므로 시스템 리소스를 절약할 수 있으며 자주 생성되고 삭제되어야 하는 일부 개체의 경우 싱글톤 모드는 의심할 여지 없이 시스템 성능을 향상시킬 수 있습니다.

단점

1. 싱글톤 패턴은 일반적인 클래스 패턴을 파괴하고 추상화 계층이 없으므로 확장이 매우 어렵습니다.

2. 런타임 중에 고유성을 유지하고 전역적으로 액세스할 수 있도록 싱글톤 모드는 전역 변수를 오염시킵니다.

위 내용은 PHP 싱글톤 모드는 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.