我正在维护一个相当复杂的继承Symfony 2.8应用程序,它具有大量的路由,控制器,操作和视图。偶尔,我会发现某些视图或路由或者甚至没有使用的东西,但是很难证明 - 我最终在我的IDE中进行了大量搜索,从模板名称跳转到Action到一个路由。直到我终于走到死胡同并意识到我可以删除它(即使那时我也很紧张!)。
有没有一种方法可以有条不紊地检查这些方面之间的配置和参考,以编程方式,让我准确地概述它们如何挂在一起,看看它是如何工作的,以及我可以抛出哪些位远?
作为一个例子,最终得到类似下面的东西,而不必手动制作它将非常有用:
has_many :advices
我意识到这是一个很大的问题,特别是因为其中一些链接是用PHP代码完成的,但是手指交叉......
答案 0 :(得分:0)
我使用了一种叫做“墓碑”的技术。在我认为没有使用的代码中,我将登录到一个文件。经过几天或几周的使用,在开发和现场,我看到记录了什么,并知道他们正在被使用 - 剩下的可能是公平的游戏删除。
在我在本地运行的开发环境中,对tombstone调用的命中是即时死亡,所以我可以删除它。在env = test中,我将记录它并考虑调用它的测试是否也是多余的。
对于env = prod,它只会被记录到一个文件中供我稍后查看(并可能删除tombstone()
调用)。
未写入日志的内容未被调用。
我还blogged on the subject of tombstones,特定于Symfony代码&示例,以及我用来支持它的库的链接。