Скажем, я пишу класс PHP ( >= 5.0), который должен быть синглом. Все прочитанные документы, чтобы сделать конструктор класса закрытым, чтобы класс не мог быть непосредственно создан.
Итак, если у меня есть что-то вроде этого:
class SillyDB
{
private function __construct()
{
}
public static function getConnection()
{
}
}
Существуют ли случаи, когда __construct() вызывается иначе, чем если я делаю
new SillyDB()
вызов внутри самого класса?
И почему мне разрешено создавать экземпляр SillyDB внутри себя?