2
我想获取类层次结构顶部的子类的类的文件名,其中类层次结构的深度未知。获取类层次结构顶部的子类的文件名,无论继承的级别
I.e.我试图找出该怎么把代码中baseApplicationClass
为了获得myApplicationClass
的文件名,将在这两个例子中的工作:
baseApplicationClass
L
abstract myApplicationClass extends baseApplicationClass
L
myInstanceClass extends myApplicationClass
和
baseApplicationClass
L
myApplicationClass extends baseApplicationClass
使用get_class ($this)
不起作用,因为这给出了这两个例子之间不一致的结果。
在这两种情况下,我需要获取myApplicationClass的文件名。
请注意,baseApplicationClass显然有一个已知的名称,而其他一个/两个类没有。
随着两层次结构(即第二实施例),I可以明显做:
$reflector = new ReflectionClass (get_class ($this));
$applicationRoot = dirname ($reflector->getFileName());
但失败了三个层级。