php how to get __DIR__ of child class

ehp*_*hpc 11 php oop

I have two classes in separate folders

class Parent
{
    public $path = null;

    function  __construct()
    {
        $this->path = __DIR__;
    }
}
Run Code Online (Sandbox Code Playgroud)

and

class Child extends Parent
{

}
Run Code Online (Sandbox Code Playgroud)

So when I create an instance of Child:

$child = new Child();
echo $child->path
Run Code Online (Sandbox Code Playgroud)

I get a path to Parent. What I actually want is to get path to Child. I cannot modify Child class.

Is it possible?

bra*_*dym 24

你可以使用反射来获得你想要的东西:

$child = new Child();
$class_info = new ReflectionClass($child);
echo dirname($class_info->getFileName());
Run Code Online (Sandbox Code Playgroud)

  • 看看这个:`$ class_info = new ReflectionClass($ this);` (2认同)