我有一个抽象类,它有许多静态函数(它通过使用 new static($args)
返回一个自身的新实例,效果很好),但我无法解决如何获取类名。我尽量避免放置
protected static $cn = __CLASS__;
但如果不可避免,那还不是世界末日
abstract class ExtendableObject {
static function getObject() {
return new static($data);
}
static function getSearcher() {
return new ExtendableObjectFinder(/* CLASS NAME CLASS */);
}
}
class ExtendableObjectFinder {
private $cn;
function __construct($className) {
$this->cn = $className;
}
function where($where) { ... }
function fetch() { ... }
}
最佳答案
要获取类的名称,您可以使用 get_class
并传递 $this
。
或者,有 get_called_class
您可以在静态方法中使用它。
关于php - 从抽象类中的静态函数获取类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121864/