>  기사  >  백엔드 개발  >  PHP의 싱글톤 패턴 구현 정보

PHP의 싱글톤 패턴 구현 정보

藏色散人
藏色散人앞으로
2019-12-04 17:07:482147검색

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

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제