Mode Singleton (mode responsabilité) :
En termes simples, un objet (vous devez comprendre la pensée orientée objet avant d'apprendre le Design Pattern) n'est responsable que d'une tâche spécifique
Classe Singleton : 1,Constructeur doit être marqué comme privé (Contrôle d'accès : empêcher le code externe d'utiliser le nouvel opérateur Créer un objet ), une classe singleton ne peut pas être instanciée dans d'autres classes, mais ne peut être instanciée que par elle-même
2 Avoir une variable membre statique qui contient une instance de la classe<.> 3. Avoir une méthode statique publique pour accéder à cette instance (la méthode getInstance() est couramment utilisée pour instancier une classe singleton, et l'opérateur instanceof peut être utilisé pour détecter si la classe a été instanciée)
De plus, une méthode clone doit être créée () empêche l'objet d'être copié (cloné)
Pourquoi utiliser le mode PHP singleton ?
1. PHP est principalement utilisé dans les applications de base de données, il y aura donc un grand nombre d'
opérations de base de donnéesdans une application. L'utilisation du mode singleton peut éviter un grand nombre de ressources consommées par de nouvelles opérations. . 2. Si une classe est nécessaire pour contrôler globalement certaines informations de configuration dans le système, elle peut être facilement implémentée en utilisant le mode singleton. Celui-ci peut être trouvé dans la section FrontController de ZF.
3. Dans une requête de page, il est facile de déboguer, car tout le code (comme la classe d'opération de base de données db) est concentré dans une seule classe. Nous pouvons définir des hooks dans la classe et générer des journaux pour éviter partout. var_dump, écho.
Cet article présente principalement la méthode d'instanciation d'un
objet singleton en PHP, qui a une très bonne valeur de référence. Regardons-la avec l'éditeur
Méthodes PHP pour instancier des singletons d'objets :
Trois méthodes privées et une publique : 2 méthodes privées, 1
propriété privée 一公private function construct(){} //不可以继承构造方法 private function clone(){}//不可以继承克隆方法 privare static $_instance;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!