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

资源魔 60 0

明天小编将带各人学习一下用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】几种形式完成类名猎取和完成单例模式的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 单例模式 类名获取

抱歉,评论功能暂时关闭!