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 중국어 웹사이트의 기타 관련 기사를 참조하세요!