2013-10-15 41 views
0

我最近加入了PHP。我有一個超過800個模塊的舊網站,並懷疑某些php文件未被引用。如何識別死PHP文件?

我使用記事本++查找文件選項搜索每個php文件名。這種方法需要很長時間。

有沒有更好的方法來確定死PHP文件?

+0

phpdcd可能會幫助 –

+0

Nirk,我沒有看到一個PHP文件中的死代碼。我期待看看整個php文件是無用的。 – Mel

回答

0

最好的辦法是使用Xdebug的代碼覆蓋率

其最常用的看到多少代碼excecuted一個史稿單元測試,但你也可以用它來尋找死代碼。

啓動xdebug並在儘可能多的地方點擊。然後查看結果文件。儘管如此,這不是一件簡單或快速的工作

當Xdebug的結束,烈將文件(行)的列表,那麼你可以嘗試刪除未提及

+0

我明白你在用代碼覆蓋率做什麼。感謝您的意見。 – Mel

0

另一種方法中的所有文件將是尋找一個窗口GREP工具。遞歸應用 - 從默認頁面開始。

看到這個關閉??回答:

What are good grep tools for Windows?

特別是在GNU grep的答案與xargs的(和遞歸grepping)。如果您的腳本名稱和調用它們的方法是合理一致的,那麼您應該能夠在系統中創建腳本調用的結構樹,以及使用(並通過消除未使用的)腳本的列表來集中檢查。

我會假設這樣一個練習的輸出不能完全依靠沒有雙重檢查的處理,但它會希望大大加快處理速度。 祝你好運。

+0

我理解這種方法。也許我可以編寫一個簡單的腳本,通過使用grep工具搜索每個php文件的目錄。結果將被推送到一個文本文件。 – Mel

0

我會升級到實際的IDE而不是使用文本編輯器。任何常用的IDE都能夠快速搜索所有項目文件中給定字符串或類名的所有引用。我喜歡PHP Storm,但它不是免費的。 Eclipse和Aptana是免費的替代品。

+0

如何?我使用NetBeans作爲我的IDE。 IDE如何確定包含在項目中的整個php文件根本不通過include/require或其他方法引用? – Mel

+0

嗨,梅爾,我不使用NetBeans,所以我不確定具體的菜單選項是什麼,但它可能是控制+ F(Windows或Linux)或命令+ F(OS X)的變體。在Webstorm中,我可以從編輯菜單轉到在路徑中查找。從那裏我可以選擇「整個項目」並輸入文件的名稱。這將向我顯示在我打開的項目的整個代碼庫中對該文件名稱的每個引用。結果由目錄和文件組織。我可以從結果窗口中點擊文件的特定行,它會打開該文件並將光標放在該行上。 –