получить имя файла расширенного класса

Допустим, у меня есть два файла, каждый из которых имеет класс. Как получить имя файла, где находится дочерний класс, в родительском классе?

Файл 2 (дочерний класс):

class B extends A{ } 

Файл 1:

 class A{ final protected function __construct(){ // here I want to get the filename where class B is, // or whatever class is the child } } 

Не совсем уверен, какой цели он служит, но здесь вы идете:

 class A{ final protected function __construct(){ $obj = new ReflectionClass($this); $filename = $obj->getFileName(); } } 

Вы можете обманывать и использовать debug_backtrace :

 class A { final protected function __construct() { $stacktrace = @debug_backtrace(false); $filename = $stacktrace[0]['file']; } }