您的位置 首页 php

【PHP】几种方式实现类名获取以及实现单例模式

今天小编将带大家学习一下用PHP实现类名获取以及实现单例模式,具有一定的参考价值,感兴趣的朋友可以了解一下!

获取类名的几种方式

1.__CLASS__:获取当前的类名

2.get_class():返回对象的类名

3.get_called_class():后期静态绑定("Late Static Binding")类的名称,即静态方法调用者的类名

<?phpclass 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__:foofoo.get_class:foofoo.get_called_class:foofoo.__CLASS__:foofoo.get_class:foofoo.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】几种方式实现类名获取以及实现单例模式的详细内容,更多请关注求知技术网其它相关文章!

文章来源:智云一二三科技

文章标题:【PHP】几种方式实现类名获取以及实现单例模式

文章地址:https://www.zhihuclub.com/5451.shtml

关于作者: 智云科技

热门文章

网站地图