如何從繼承的方法獲取當前類的路徑?如何從繼承的方法獲取派生類的路徑?
我有以下幾點:
<?php // file: /parentDir/class.php
class Parent {
protected function getDir() {
return dirname(__FILE__);
}
}
?>
和
<?php // file: /childDir/class.php
class Child extends Parent {
public function __construct() {
echo $this->getDir();
}
}
$tmp = new Child(); // output: '/parentDir'
?>
的__FILE__
常量總是指向它在文件的源文件,而不管繼承的。
我想獲得派生類的路徑的名稱。
有沒有優雅這樣做的方法?
我可以按照$this->getDir(__FILE__);
的方法做一些事情,但這意味着我必須經常重複自己。如果可能的話,我正在尋找一種將所有邏輯放在父類中的方法。
更新:
接受的解決方案(由Palantir):
是的,這是Palantir的答案的邏輯結論。 – Jacco 2010-06-10 13:06:44