Les variables globales de HP apportent une grande flexibilité à la programmation, mais la nature sans contrainte des variables globales comporte également de grands dangers cachés. Le modèle singleton peut être une bonne alternative aux variables globales.
Supposons qu'il y ait une fleur. Tous ceux qui la verront l'arroseront et l'apprécieront ensuite.
class flower{ function __construct(){ echo date('Y-m-d H:i:s').'浇了花'; } public function look(){ return '一朵美丽的花'; } } $a=new flower();//将输出:2013-01-08 09:37:54浇了花 echo $a->look();//将输出:一朵美丽的花 $b=new flower();//将输出:2013-01-08 09:37:54浇了花 echo $b->look();//将输出:一朵美丽的
On voit que s'il y a de plus en plus de monde, les fleurs seront noyées tôt ou tard. Ce dont nous avons besoin, c'est que tant que la première personne qui voit les fleurs arrose les fleurs, les autres n'ont pas besoin d'arroser les fleurs.
class flower{ private static $instance; private function __construct(){ echo date('Y-m-d H:i:s').'浇了花'; } public static function getInstance(){ if(empty(self::$instance)){ self::$instance=new self(); } return self::$instance; } public function look(){ return '一朵美丽的花'; } } $a=flower::getInstance();//将输出:2013-01-08 09:52:43浇了花 echo $a->look();//将输出:一朵美丽的花 $b=flower::getInstance();//不会输出 echo $b->look();//将输出:一朵美丽的
Le mode singleton convient aux environnements qui n'ont besoin que d'obtenir la même instance, tels que les connexions à la base de données MySQL et d'autres opérations.
Ce qui précède est le contenu du développement orienté objet PHP - mode singleton. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !