有些特定场景需要获取到底在这个继承链中,到底哪个子类继承了我这个父类,这个时候我在查阅PHP官方手册中发现
get_called_class(); 这个方法可以子类的完全名称
[PHP] 纯文本查看 复制代码 class Father{
public function __construct(){
//获取继承子类的方法
echo get_called_class();
}
}
class Son extends Father{
public function __construct(){
parent::__construct();
}
}
new Son;
这样就能获取到类名 Son
如果附带命名空间
[PHP] 纯文本查看 复制代码 namespace core;
class Father{
public function __construct(){
//获取继承子类的方法
echo get_called_class();
}
}
namespace Controller;
class Son extends \core\Father{
public function __construct(){
parent::__construct();
}
}
new \Controller\Son;
这个时候获取到的类名就是Controller\Son
附带了命名空间这个时候我们就可以做更多的操作!
|