2012-11-26 35 views
1

可能重複:
Finding the PHP File (at run time) where a Class was Defined預裝的PHP類文件的位置

我與別人(當前不可用)設置服務器工作。我試圖找到apache(或別的東西)正在預加載的類的來源,以便我可以將源代碼更新到該類的正確版本。運行這個:

<?php echo class_exists('className')? "yes": "no"; ?> 

(作爲整個php文件)打印出是的。我如何知道這個類是從哪裏來的?我已經對服務器進行了大量清理,並且有一長串可能存在的文件,但是隻是在不做大量猜測和檢查的情況下知道哪些文件需要更改。是否有函數會告訴我該類名稱的源代碼文件?

謝謝

回答

3
$r = new ReflectionClass('YourClassName'); 
echo $r->getFileName(); 

http://php.net/manual/en/reflectionclass.getfilename.php

每文檔見反射類的文檔頁面,類由PHP核心(或擴展)定義c請使用getFileName()方法返回FALSE

if ($r->getFileName() === FALSE) {echo 'Defined by PHP';}