我目前可以进行以下操作:
class SubClass extends SuperClass {
function __construct() {
parent::__construct();
}
}
class SuperClass {
function __construct() {
// this echoes "I'm SubClass and I'm extending SuperClass"
echo 'I\'m '.get_class($this).' and I\'m extending '.__CLASS__;
}
}
我想用文件名(__FILE__
做类似的事情,但动态评估);我想从超类知道子类所在的文件。有可能以任何优雅的方式吗?
我知道你可以用get_included_files()
做点什么,但这不是很有效,特别是如果我有很多实例的话。
答案 0 :(得分:2)
您可以使用反射。
$ref = new ReflectionObject($this);
$ref->getFileName(); // return the file where the object's class was declared
答案 1 :(得分:0)
__FILE__
,这首先完全破坏了继承点。
我也很好奇为什么这样的事情会有用。