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());
但失敗了三個層級。