PHP __DIR__ оценил время выполнения (позднее связывание)?
Можно ли как-то получить местоположение файла 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
Снова и снова в различных классах наследников, кажется, не вариант, поэтому у нас есть наследство ...