Heim > Artikel > Backend-Entwicklung > [PHP] Mehrere Möglichkeiten, Klassennamen zu erhalten und den Singleton-Modus zu implementieren
Heute zeigt Ihnen der Editor, wie Sie mit PHP Klassennamen erhalten und den Singleton-Modus implementieren. Es hat einen gewissen Referenzwert.
Mehrere Möglichkeiten, den Klassennamen abzurufen
1.__CLASS__: Den aktuellen Klassennamen abrufen
2.get_class(): Den Klassennamen des Objekts zurückgeben
3.get_claimed_class(): Der Name der späten statischen Bindungsklasse („Late Static Binding“), also der Klassenname des statischen Methodenaufrufers
<?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(); ?>
Ergebnis:
//结果 foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:foo foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:bar
Singleton-Modus: Stellen Sie sicher, dass eine Klasse nur eine Instanz hat, sich selbst instanziiert und diese Instanz dem gesamten System zur Verfügung stellt.
<?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]; } } ?>
Verwandte Tutorials: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt von[PHP] Mehrere Möglichkeiten, Klassennamen zu erhalten und den Singleton-Modus zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!