[英]How can the Symfony's Routes, Controllers, Actions and Views be programmatically processed to produce useful documentation or highlight issues?
我正在維護一個相當復雜的繼承Symfony 2.8應用程序,其中包含大量的Routes,Controllers,Action和Views。 有時,我會發現某些“視圖”或“路線”或什至沒有使用的東西,但是很難證明-我最終在IDE中做了很多搜索,從模板名稱跳到Action到route.yml。直到我終於走到了盡頭,才意識到我可以刪除它(即使那樣我也很緊張!)。
有沒有一種方法可以有效地檢查這些方面之間的配置和引用,以使我能夠准確地全面了解它們如何掛在一起,既可以查看其工作原理又可以丟棄哪些位?
舉例來說,無需手動進行以下操作即可得到如下結果:
Route Action Template Routes Linked
----- ------ -------- -------------
main_index Default:index Default:index.html.twig new_item; view_news
etc
我意識到這是一個很大的問題,特別是因為其中一些鏈接是用PHP代碼完成的,但是手指交叉了……
我使用一種稱為“墓碑”的技術。 在我認為未被使用的代碼中,我將登錄到文件。 經過幾天或幾周的使用,無論是在開發中還是在實際使用中,我都看到了記錄下來的內容,並且知道它們已經被使用了-其余的可能是刪除的公平游戲。
在本地運行的開發環境中,按下邏輯刪除呼叫會立即死亡,因此可以將其刪除。 在env = test中,我將其記錄下來,並考慮調用它的測試是否也是多余的。
對於env = prod,它將僅記錄到文件中供我以后查看(並可能刪除了tombstone()
調用)。
未寫入日志的內容未被調用。
我還撰寫了關於墓碑的文章 ,提供了Symfony特定的代碼和示例,以及指向我用來支持它的庫的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.