При создании Singleton в PHP я гарантирую, что его невозможно создать, выполнив следующие действия:
class Singleton {
private function __construct() {}
private function __clone() {}
public static function getInstance() {}
}
Однако я понял, что определение класса как «абстрактного» означает, что он не может быть создан. Так что нет ничего плохого в том, чтобы делать следующее:
abstract class Singleton {
public static function getInstance() {}
}
Второй сценарий позволяет мне написать меньше строк кода, что было бы неплохо. (Не то, чтобы это действительно имело большое значение.)