[转]PHP __CLASS__、get_class()与get_called_class()的区别
来源:互联网 发布:累计参与人数js效果 编辑:程序博客网 时间:2024/05/16 00:26
__CLASS__
获取当前的类名,
get_class()
与上面一样,都是获取当前的类名
get_called_class()
获取当前主调类的类名
当涉及到继承时,在方法中使用类名。
class A { function say() { echo 'A is ' . __CLASS__ . '<br/>'; echo 'A is ' . get_class() . '<br/>'; echo 'A is ' . get_called_class() . '<br/>'; }}class B extends A { function say() { parent::say(); echo 'B is ' . __CLASS__ . '<br/>'; echo 'B is ' . get_class() . '<br/>'; echo 'B is ' . get_called_class() . '<br/>'; }}$b = new B();$b->say();
输出:
A is AA is AA is BB is BB is BB is B
MVC框架中,涉及到单例时很好用,一般在基类中
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];}
其他类只要继承这个类,然后通过getInstance()就实现了单例模式
阅读全文
0 0
- php __CLASS__、get_class()与get_called_class()的区别
- [转]PHP __CLASS__、get_class()与get_called_class()的区别
- 【php趣味】__CLASS__、get_class、get_called_class三兄弟
- php get_called_class()函数与get_class函数的区别
- php get_called_class()函数与get_class函数的区别
- php get_called_class()函数与get_class函数的区别
- PHP中get_class($this)与__CLASS__的区别
- __CLASS__与get_class()
- PHP的继承方法如何获取子类名?get_class() 和 get_called_class()
- get_class()、get_called_class()、get_class_methods()
- PHP get_called_class
- php get_class
- PHP __CLASS__
- php 获取对象的类名 get_class
- PHP get_class 返回对象的类名
- PHP中的get_called_class
- php中的get_called_class()方法
- php中的get_class
- 【C++继承】之虚拟继承、作用域
- webpack3最新版本配置研究(一)loader
- 个人使用MATLAB timer 心得
- Git 常用操作(七) git status 与git中文件的三个状态
- okhttp
- [转]PHP __CLASS__、get_class()与get_called_class()的区别
- javaEE总结
- Anaconda2和Anaconda3共存
- JSP标准标签库
- JMQ的两种消息模式(点对点消息模式、订阅模式)
- input隐藏域的使用场景
- 1069. 微博转发抽奖(20)
- 洛谷 1203 [USACO1.1]坏掉的项链Broken Necklace
- SDL系列讲解(一) 简介