J'ai toujours utilisé une classe Singleton pour un objet de registre en PHP. Comme toutes les classes Singleton Je pense que la principale méthode ressemble à ceci:Quelle est la différence exacte entre la classe statique PHP et la classe singleton
class registry
{
public static function singleton()
{
if(!isset(self::$instance))
{
self::$instance = new registry();
}
return self::$instance;
}
public function doSomething()
{
echo 'something';
}
}
Alors chaque fois que je besoin de quelque chose de la classe de registre j'utiliser une fonction comme ceci:
registry::singleton()->doSomethine();
Maintenant, je ne comprends pas ce que le La différence est entre créer une fonction statique normale. Cela va-t-il créer un nouvel objet si j'utilise simplement une classe statique normale.
class registry
{
public static function doSomething()
{
echo 'something';
}
}
Maintenant je peux utiliser:
registry::doSomethine();
Quelqu'un peut-il me expliquer ce que la fonction est de la classe singleton. Je ne comprends vraiment pas ça.
duplication possible de [Différence entre la classe statique et le modèle singleton?] (Http://stackoverflow.com/questions/519520/difference-between-static-class-and-singleton-pattern) – Sarfraz
Oups! Désolé, je n'ai pas vu celui-là. –