Maison >développement back-end >tutoriel php >[PHP] Plusieurs façons d'obtenir des noms de classe et d'implémenter le mode singleton
Aujourd'hui, l'éditeur vous amènera à apprendre à utiliser PHP pour obtenir des noms de classe et implémenter le mode singleton. Les amis intéressés peuvent en apprendre davantage !
Plusieurs façons d'obtenir le nom de la classe
1.__CLASS__ : Obtenez le nom de la classe actuelle
2.get_class() : Renvoie le nom de la classe de l'objet
3.get_call_class() : Le nom de la classe de liaison statique tardive ("Late Static Binding"), c'est-à-dire le nom de classe de l'appelant de la méthode statique
<?php class foo { static public function test() { echo "foo.__CLASS__:".__CLASS__."\n"; echo "foo.get_class:".get_class()."\n"; echo "foo.get_called_class:".get_called_class()."\n"; } } class bar extends foo { } foo::test(); echo "\n"; bar::test(); ?>
Résultat :
//结果 foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:foo foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:bar
Modèle Singleton : Assurez-vous qu'une classe n'a qu'une seule instance, s'instancie et fournit cette instance à l'ensemble du système.
<?php //通过get_called_class实现单例模式 class Singleton{ private static $instance; public static function getInstance() { //静态共有方法实例化对象 $class_name = get_called_class(); if (isset(self::$instance[$class_name])) { return self::$instance[$class_name]; } self::$instance[$class_name] = new $class_name; return self::$instance[$class_name]; } } ?>
Tutoriels associés : Tutoriel vidéo PHP
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!