아래와 같은 코드를 생각해보십시오. Lynda.com 에 의해 이런 식으로 데이터베이스 클래스를 만들었습니다. 내 질문에 왜 데이터베이스를 저장하는 대신 정적 메서드를 만들지 않습니다. 정적 속성에 인스턴스가 있습니까?정적 메서드 대 정적 인스턴스
<?php
class Database {
private $conn;
private static $init;
public function __construct() {
$this->conn = new mysqli('localhost','root','root','mydb');
}
public static function getInstance() {
self::$init = new self();
return self::$init;
}
}
$db = Database::getInstance();
?>
글로벌 상태와 암시 적 종속성을 생성하므로 두 가지 모두 잘못되었습니다. – ChocoDeveloper
그 코드는'getInstance'에'static' 지정자가 없습니다. 이것을 [싱글 톤 패턴]이라고합니다 (http://stackoverflow.com/questions/4595964/who-needs-singletons). – DCoder
당신의 선생님이 그렇게하신 말씀입니까? 중요한 세부 사항이 빠져 나옵니다. – goat