PHP利用反射根据类名反向寻找类所在文件
生活随笔
收集整理的這篇文章主要介紹了
PHP利用反射根据类名反向寻找类所在文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時候分析源碼時,會被博大精深的層層代碼搞得暈頭轉向,不知道類是定義在哪個文件里的,有時候IDE所提供的方法聲明未必準確。在這種情況下,我們可以利用反射找到類所在的文件。
在你發現實例化類的地方(例如class1中發現了class2的實例化,但是你不知道class2定義在哪個文件),輸入以下代碼:
$object = new ReflectionClass($b); $methods = $object->getMethods(); //這里之所以用getMethods(),是因為我們并不知道此類有哪些方法,所以全部獲取,然后取第0個 $method = $methods[0]; $declaringclass = $method->getDeclaringClass(); $filename = $declaringclass->getFilename();此時的$filename就是類所在的文件名。
當然,你可以寫成
$filename = (new ReflectionClass($a))->getMethods()[0]->getDeclaringClass()->getFilename();?
總結
以上是生活随笔為你收集整理的PHP利用反射根据类名反向寻找类所在文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebMagic之爬虫监控
- 下一篇: [PHP] 算法-数组重复数字统计的PH