ann wird in einer PHP5-Klasse ein privater Konstruktor aufgerufe

Angenommen, ich schreibe eine PHP-Klasse (> = 5.0), die ein Singleton sein soll. In allen von mir gelesenen Dokumenten heißt es, dass der Klassenkonstruktor privat sein soll, damit die Klasse nicht direkt instanziiert werden kann.

Also, wenn ich so etwas habe:

class SillyDB
{
  private function __construct()
  {

  }

  public static function getConnection()
  {

  }
}

Gibt es Fälle, in denen __construct () anders aufgerufen wird, als wenn ich ein @ mach

new SillyDB() 

in der Klasse selbst anrufen?

Und warum darf ich SillyDB überhaupt von innen heraus instanziieren?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage