카테고리 없음

PHP 싱글 모드

Jammie 2022. 11. 1. 14:12
반응형

단일 패턴은 문자 그대로 특정 클래스에 하나의 인스턴스만 있다는 것을 의미하며, 이렇게 하는 것의 이점은 여전히 매우 큽니다. 예를 들어, 데이터베이스 연결은 인스턴스화 한 번만 필요하고 매번 new로 이동할 필요가 없으므로 자원 소비를 크게 줄일 수 있습니다.

단일 사례 모드는 일반적인 설계 모드이며 컴퓨터 시스템에서 스레드 풀, 캐시, 로그 개체, 대화 상자, 프린터, 데이터베이스 작업 및 그래픽 카드의 드라이버가 단일 사례로 설계되는 경우가 많습니다.

싱글 모드에는 다음 세 가지 특징이 있습니다.

1.실례가 하나밖에 없습니다.

2.이 인스턴스를 직접 만들어야 합니다.

3. 다른 대상에게 이 예를 제공해야 합니다

단일 클래스에는 적어도 다음 세 가지 공통 요소가 있습니다.

1. 생성자가 있어야 하며 private로 표시되어야 합니다.
2. 클래스의 인스턴스를 저장하는 정적 멤버 변수가 있습니다.
3. 이 인스턴스에 접근할 수 있는 공통 정적 메서드 사용

구체적인 사용 측면에서는 다음 php 사례에서 명확하게 주석을 달았습니다

<?php
classMysql{
// 이 속성은 인스턴스를 저장하는 데 사용됩니다
private static $conn
// 생성자를 private로 하여 객체 생성 방지
private function __construct( {
$this->conn = mysql_connect('localhost', 'root', '');
}
// 개체를 인스턴스화하는 방법 만들기
public static function getInstance( ){
if(!(self::$conn instance of self){
self::$conn = new self;
}
return self::$conn;
}
// 개체 복사 방지
public function _clone( ){
trigger_error('Clone is not allowed!');
}

}
//이렇게 인스턴스만 얻을 수 있습니다. new와 clone은 안 됩니다.
$mysql = Mysql::getInstance( );
?>

반응형