我想寫一個方法,我可以在擴展類中使用該文件的完整路徑。然而,當我使用__FILE__
我只拿回了被繼承的方法中定義的類路徑下面是一個例子:PHP __FILE__ inheritence
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
這是預期的行爲嗎?有沒有更好的方法來完成這一點?我在做瘋狂愚蠢的事情嗎?
與其他方法相比,這是一個更好的解決方案,因爲你可以調用getFullFile( )在父類中以在運行時獲取基文件名。其他解決方案只需要在基類中調用getFullFile()。 – alds