PHP의 싱글톤 패턴 구현 정보

藏色散人
풀어 주다: 2023-04-07 22:30:01
앞으로
2216명이 탐색했습니다.

저는 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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿