的index.php //我知道這個文件是
$class = new childclass();
$class->__initComponents();
somefile.php //我知道這個文件是
Class childclass extends parentclass {
}
someparentfile.php //我不知道這個文件在哪裏
Class parentclass {
function __initComponents(){
//does something
}
}
我需要找出someparentfile.php在哪裏。
原因:
我調試一些困難的PHP代碼是別人寫的,我需要找出哪些文件包含定義一個類參數的代碼。
我覺得只要一個類的方法調用,這是否一個功能:
$class->__initComponents();//the parameter is defined somewhere in there
的問題是,這個功能是上面$類的父類「MyClass的」中,我有不知道父類是哪裏。
有沒有一種方法或一些調試功能,通過它我可以找出這個父類的位置或至少在哪裏定義了參數?
p.s. 下載整個應用程序,然後使用文本搜索將是不合理的。
我知道reflectionobjects,但我不知道他們可以做到這一切。你爲我節省了無數小時的調試時間! :D我找到了我正在尋找的方法,但我仍然不知道MyClass在哪裏,它看起來像MyClass也是一個擴展類 – 2011-05-20 11:53:59
'$ declaringClass'在我的例子中是類,它實現了方法。 '$ filename'是聲明類的文件名。如果你想知道'__initComponents()'在哪裏定義,那麼它也不在乎,如果'MyClass'也被擴展。如果你認爲,你可以使用'ReflectionClass :: getParentClass()'獲得父類,這對你有幫助。 – KingCrunch 2011-05-20 12:15:07
它幫助我找到我需要的類(最外層的父類),而不是我認爲我需要的類(直接父類「MyClass」),現在使用getParentClass,我甚至找到了「MyClass」(我不需要,但很有趣),所以我修復了一大堆bug,現在一切正常:) – 2011-05-21 14:37:00