Maison > développement back-end > tutoriel php > Développement orienté objet PHP - mode singleton

Développement orienté objet PHP - mode singleton

黄舟
Libérer: 2023-03-04 12:30:01
original
1724 Les gens l'ont consulté

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();//将输出:一朵美丽的
Copier après la connexion

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();//将输出:一朵美丽的
Copier après la connexion

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) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal