本日小编将带人人进修一下用PHP完成类名猎取以及完成单例形式,具有肯定的参考价值,感兴趣的朋侪能够相识一下!
猎取类名的几种体式格局
1.__CLASS__:猎取当前的类名
2.get_class():返回对象的类名
3.get_called_class():后期静态绑定("Late Static Binding")类的称号,即静态要领调用者的类名
<?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(); ?>
效果:
//效果 foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:foo foo.__CLASS__:foo foo.get_class:foo foo.get_called_class:bar
单例形式:确保一个类只要一个实例,而且自行实例化并向全部体系供应这个实例。
<?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]; } } ?>
相干教程:PHP视频教程
以上就是【PHP】几种体式格局完成类名猎取以及完成单例形式的细致内容,更多请关注ki4网别的相干文章!