Maison > Article > développement back-end > Explication détaillée du modèle singleton en PHP
Cet article présente le mode singleton PHP. L'article explique le concept du mode singleton, les caractéristiques du mode singleton, les raisons et les scénarios d'utilisation du mode singleton, et les codeurs du mode singleton PHP peuvent s'y référer. à lui
Explication détaillée du mode singleton PHP
Le concept du mode singleton
Le mode singleton signifie qu'une certaine classe dans l'ensemble de l'application, il n'y a qu'un modèle de conception pour une instance d'objet. Plus précisément, en tant que méthode de création d'objets, le modèle singleton garantit qu'une classe n'a qu'une seule instance, s'instancie et fournit cette instance globalement à l'ensemble du système. Il ne crée pas de copie de l'instance, mais renvoie une référence à l'instance stockée en interne dans la classe singleton.
Caractéristiques du mode singleton
La principale caractéristique du mode singleton est "Trois privés et un public":
Besoin d'une variable membre statique privée qui contient la seule instance de la classe
Le constructeurdoit être déclaré privé pour empêcher les programmes externes de créer un objet et de perdre le sens de le singleton
La fonction de clonage doit être déclarée privée pour éviter que l'objet ne soit cloné
doit fournir une méthode statique publique pour accéder à cette instance (généralement nommé getInstance ), renvoyant ainsi une référence à une instance unique.
Raisons et scénarios d'utilisation du mode singleton
Dans la plupart des applications PHP, il y aura un grand nombre d'opérations de base de données. Si vous n'utilisez pas le mode singleton, alors. chaque fois Une nouvelle opération est requise, mais chaque nouvelle consommera beaucoup de ressources système et de ressources mémoire, et chaque fois que la base de données est ouverte et fermée, c'est un grand test et un gaspillage de la base de données. Par conséquent, le modèle singleton est souvent utilisé dans les classes d’opérations de bases de données.
De même, 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.
Implémentation du mode PHP singleton
Ce qui suit est un cadre pour le mode PHP singleton pour implémenter des classes d'opération de base de données
<?php class Db{ const DB_HOST='localhost'; const DB_NAME=''; const DB_USER=''; const DB_PWD=''; private $_db; //保存实例的私有静态变量 private static $_instance; //构造函数和克隆函数都声明为私有的 private function __construct(){ //$this->_db=mysql_connect(); } private function __clone(){ //实现 } //访问实例的公共静态方法 public static function getInstance(){ if(!(self::$_instance instanceof self)){ self::$_instance=new self(); } //或者 if(self::$_instance===null){ self::$_instance=new Db(); } return self::$_instance; } public function fetchAll(){ //实现 } public function fetchRow(){ //实现 } } //类外部获取实例的引用 $db=Db::getInstance(); ?>
Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Orienté objet PHP -Mode à colonne unique
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!