[php] 싱글턴 디자인 패턴

싱글턴 디자인 패턴은 객체 생성에 관한 디자인 패턴 중 하나로, 애플리케이션에서 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 패턴입니다. 이 패턴은 객체를 전역으로 접근 가능하게 만들어주며, 한 번의 객체 생성으로 어디서든 이를 공유할 수 있도록 합니다.

언제 사용해야 할까요?

싱글턴은 다음과 같이 구현될 수 있습니다:

<?php

class Singleton
{
    private static $instance;

    private function __construct() {}

    public static function getInstance()
    {
        if (self::$instance === null) {
            self::$instance = new Singleton();
        }
        return self::$instance;
    }
}

위의 코드에서 getInstance 메서드가 핵심입니다. 이 메서드는 이미 인스턴스가 존재하는지 체크한 뒤, 없다면 새로운 인스턴스를 생성합니다.

싱글턴 디자인 패턴은 잘못 사용할 경우 테스트에 어려움을 야기하기도 하며, 상태를 공유하는 것으로 인해 문제를 발생시킬 수 있습니다. 따라서 싱글턴을 사용할 때에는 신중하게 고려해야 합니다.

참고 자료: