是否有可能获得在运行时评估的 PHP 文件的位置?我正在寻找类似于魔术常量的东西__DIR__
,但在运行时评估,作为后期绑定。self
与和类似的区别static
:
__DIR__ ~ self
??? ~ static
我的目标是在抽象类中定义一个方法,使用__DIR__
该方法将分别为每个继承者类进行评估。例子:
abstract class Parent {
protected function getDir() {
// return __DIR__; // does not work
return <<I need this>>; //
}
}
class Heir extends Parent {
public function doSomething() {
$heirDirectory = $this->getDir();
doStuff($heirDirectory);
}
}
显然,这个问题只有在Parent
和Heir
位于不同目录时才会出现。请考虑到这一点。此外,getDir
在各种继承人类中一遍又一遍地定义似乎不是一个选项,这就是我们有继承的原因......