PHP에서는 데이터베이스 액세스가 PDO를 통해 관리되는 경우가 많습니다. 초기 시도에서는 전역 변수를 사용하여 데이터베이스에 액세스할 수 있지만 이는 권장되지 않습니다. 싱글톤 패턴이 대안으로 등장했지만 그 정당성은 여전히 의문스럽습니다.
싱글톤은 단일 클래스 인스턴스를 보장하는 것을 목표로 하지만 PHP에서는 메모리 사용이 설득력 있는 이유가 아닙니다. 또한 특정 객체가 한 번만 존재할 수 있다는 가정에는 결함이 있는 경우가 많습니다. 프로그래머는 언어 메커니즘에 의존하기보다는 고유성을 강화해야 합니다.
또한 단일 요청 내에서 인스턴스에 대한 전역 액세스가 바람직해 보일 수 있지만 전역 범위에 대한 결합이 발생하여 단위 테스트 및 유지 관리가 방해됩니다. 종속성 주입은 여러 클래스 간에 인스턴스를 공유하는 데 더 적합한 대안입니다.
싱글턴 패턴 발명가인 Erich Gamma는 이제 디자인 냄새로 자주 오용되므로 포기를 옹호합니다. . 이 주제에 대한 추가 자료는 다음과 같습니다.
아직 확실하지 않은 경우 다음 다이어그램에서 추가 안내를 확인할 수 있습니다.
[이미지: 싱글톤 결정 다이어그램. 사용자가 특정 사용 사례 및 선호도에 따라 싱글톤 사용 여부를 결정하는 데 도움이 되는 흐름도.]
위 내용은 PHP 애플리케이션에서 데이터베이스 싱글톤을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!