Ответ 1
Вы можете использовать reflection, чтобы получить то, что вы ищете:
$child = new Child();
$class_info = new ReflectionClass($child);
echo dirname($class_info->getFileName());
У меня есть два класса в отдельных папках
class Parent
{
public $path = null;
function __construct()
{
$this->path = __DIR__;
}
}
и
class Child extends Parent
{
}
Итак, когда я создаю экземпляр Child:
$child = new Child();
echo $child->path
Я получаю путь к Parent. То, что я действительно хочу, - это получить путь к Ребенку. Я не могу изменить класс Child.
Возможно ли это?
Вы можете использовать reflection, чтобы получить то, что вы ищете:
$child = new Child();
$class_info = new ReflectionClass($child);
echo dirname($class_info->getFileName());