저는 Java 개발을 하다가 싱글톤 모드를 사용할 때 가장 먼저 생각한 것이 배고픈 중국 스타일을 사용하는 것이었습니다. 그러다가 PHP에 그런 기능이 있다는 것을 알게 되었습니다. 왜냐하면 PHP는 멤버 할당을 지원하지 않기 때문입니다. 클래스가 정의될 때의 클래스. 변수에는 기본이 아닌 유형의 값이 할당됩니다. 표현식, 새로운 연산 등 대신, 나는 이 싱글톤 모드의 원자성을 보장하고 싶었고, JAVA처럼 PHP에는 스레드 안전 문제가 없다는 것을 발견했습니다.
저기, PHP가 좋다고 생각하시나요? 좋습니다. 그러면 PHP의 게으른 싱글톤 모드를 시도해 보겠습니다.
관련 권장 사항: "PHP 튜토리얼"
1. 3개의 비공개 및 1개의 공개:
1, 생성된 고유 개체를 저장하는 비공개 정적 속성
2, 비공개 생성자
3, 비공개 클론 함수 복제 방지 - clone
4, 정적 속성에 저장된 개체에 액세스하는 데 사용되는 정적 메서드입니다. 개체가 없으면 이 싱글톤이 생성됩니다.
2. 키워드 인스턴스of
이 변수가 개체인지 확인하세요. 클래스, 하위 클래스 또는 구현 인터페이스.
1. 프라이빗 __construct가 필요합니다. 싱글톤 클래스는 다른 클래스에서 인스턴스화될 수 없으며
2. 클래스의 인스턴스를 저장하는 정적 멤버 변수가 있습니다. 이 클래스를 인스턴스화하고 이 클래스의 인스턴스에 액세스하는 데 사용되는 공개 메서드;
class SingleInstance{ private function _construct(){ } private static $instance; private function _clone(){ } public static function getInstance(){ if(!self::$instance instanceof SingleInstance){ self::$instance=new SingleInstance(); } return self ::$instance; } }
위 내용은 PHP의 싱글톤 패턴 구현 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!