Disons que j'écris une classe PHP (> = 5.0) qui est censée être un singleton. Tous les documents que j'ai lus disent de rendre le constructeur de classe privé afin que la classe ne puisse pas être instanciée directement.
Donc, si j'ai quelque chose comme ça:
class SillyDB
{
private function __construct()
{
}
public static function getConnection()
{
}
}
Y a-t-il des cas où __construct () est appelé autrement que si je fais un
new SillyDB()
appeler à l'intérieur de la classe elle-même?
Et pourquoi suis-je autorisé à instancier SillyDB de l'intérieur de lui-même?