在php中我有一个ROOT类,所有其他类都继承该类。
abstract class ROOT{
public static function getClass(){
}
}
我希望该函数返回从该类继承的对象的类(名称)。因此,如果我创建一个对象Tree(扩展ROOT)并在其上调用getClass,它应该说“Tree”
函数get_class()仅适用于对象,因此不能在静态函数中使用。 有没有办法实现这个目标?
答案 0 :(得分:7)
而不是get_class()
,请使用get_called_class()
。
答案 1 :(得分:5)
http://www.php.net/manual/en/function.get-called-class.php
abstract class ROOT {
public static function getClass() {
return get_called_class();
}
}
class Tree extends ROOT {
}
$Tree = new Tree();
echo $Tree->getClass(); // Outputs "Tree"