Вот просто пример: (php5)
class T{
public function __construct(){}
}
class S extends T{
private function __construct(){
// code
}
}
Ругань идет по причине того, что php не хочет делать из public private. Но почему?
Идея в том, чтобы запретить создавать экземпляры объекта S в последствии сделав его синглтоном.
Придумал некий хук, но он работает пока есть совместимость (я так понял):
class S extends T{
private function S(){
// код
}
}
Тогда все прокатывает и сделать что-то типа того
$s = new S();
уже не получается.