获取继承到的所有方法 php,php – 如何从继承的方法获取派生类的路径?

如何从继承的方法获取当前类的路径?

我有以下:

class Parent {

protected function getDir() {

return dirname(__FILE__);

}

}

?>

class Child extends Parent {

public function __construct() {

echo $this->getDir();

}

}

$tmp = new Child(); // output: '/parentDir'

?>

__FILE__常量总是指向它所在的文件的源文件,而不管继承。

我想得到派生类的路径的名称。

有什么优雅的方式吗?

我可以做一些事情,沿着$ this-> getDir(__ FILE__);但这意味着我必须经常重复我自己。我正在寻找一个方法,把所有的逻辑在父类,如果可能的话。

更新:

接受解决方案(Palantir):

class Parent {

protected function getDir() {

$reflector = new ReflectionClass(get_class($this));

return dirname($reflector->getFileName());

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值