>  기사  >  백엔드 개발  >  PHP 싱글톤 모드 사용 시나리오 및 사용 방법

PHP 싱글톤 모드 사용 시나리오 및 사용 방법

coldplay.xixi
coldplay.xixi앞으로
2020-07-03 17:47:493132검색

PHP 싱글톤 모드 사용 시나리오 및 사용 방법

클래스에는 객체 인스턴스가 하나만 있습니다

1 의미

객체 생성 모드인 싱글톤 모드는 클래스에 인스턴스가 하나만 있음을 보장하고 자체적으로 인스턴스화하며 이 인스턴스를 전체 시스템에 전역적으로 제공합니다. 인스턴스의 복사본을 생성하지 않지만 싱글톤 클래스에 내부적으로 저장된 인스턴스에 대한 참조를 반환합니다.

관련 학습 권장사항: PHP 프로그래밍 입문부터 숙련까지

2. 싱글턴 패턴의 세 가지 핵심 사항:

(1) 클래스의 유일한 인스턴스를 보유하는 정적 멤버 변수가 필요합니다.

private static $_instance;

( 2) 외부 프로그램이 새 클래스를 생성하여 싱글톤 모드의 의미를 잃지 않도록 생성자와 복제 함수를 비공개로 선언해야 합니다.

private function __construct(){
    $this->_db = pg_connect('xxxx');
}

private function __clone(){
}//覆盖__clone()方法,禁止克隆

(3) 이 인스턴스에 액세스하려면 공개 정적 메서드를 제공해야 합니다. (일반적으로 getInstance 메소드) 고유한 인스턴스에 대한 참조를 반환합니다.


public static function getInstance(){

if(! (self::$_instance instanceof self) ){ 
    self::$_instance = new self();
}
return self::$_instance;

싱글톤 패턴은 클래스에 인스턴스가 하나만 있음을 보장하고 자체적으로 인스턴스화하여 이 인스턴스를 전체 시스템에 제공합니다.

싱글톤 패턴은 컴퓨터 시스템에서 스레드 풀, 캐시, 로그 개체, 대화 상자, 프린터, 데이터베이스 작업 및 그래픽 카드 드라이버가 흔히 싱글톤으로 설계되는 일반적인 디자인 패턴입니다.


싱글톤 모드에는 게으른 스타일 싱글톤, 배고픈 스타일 싱글톤, 등록 스타일 싱글톤의 세 가지 유형이 있습니다.


싱글턴 모드에는 다음과 같은 3가지 특성이 있습니다.


1. 인스턴스는 하나만 있을 수 있습니다.


2. 이 인스턴스를 직접 생성해야 합니다.


3. 이 인스턴스는 다른 개체에 제공되어야 합니다.


그렇다면 왜 PHP 싱글턴 패턴을 사용할까요?

PHP의 주요 애플리케이션 시나리오 중 하나는 애플리케이션이 데이터베이스를 다루는 시나리오입니다. 애플리케이션에서는 데이터베이스 핸들을 사용하여 데이터베이스에 연결하는 동작이 많이 있습니다. 싱글톤 모드에서는 많은 수의 새로운 작업을 피할 수 있습니다. 모든 새로운 작업은 시스템 및 메모리 리소스를 소비하기 때문입니다.

아아아아

위 내용은 PHP 싱글톤 모드 사용 시나리오 및 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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