Я пытаюсь написать метод, который я могу использовать в расширенных классах, который использует полный путь к файлу.Однако, когда я использую __FILE__
, я получаю только путь назад для класса, в котором определен унаследованный метод. Вот пример:
foo.php
class foo
{
public function getFullFile()
{
return __FILE__;
}
}
bar.php
class bar extends foo
{
public function getFile()
{
return __FILE__;
}
}
example.php
$foo = new foo();
echo $foo->getFullFile() . PHP_EOL;
$bar = new bar();
echo $bar->getFullFile() . PHP_EOL;
echo $bar->getFile() . PHP_EOL;
Результат выполнения example.php:
/my/full/path/foo.php
/my/full/path/foo.php
/my/full/path/bar.php
Это ожидаемое поведение?Есть ли лучший способ сделать это?Я делаю что-то безумно глупое?