我正在开始对现有的ColdFusion应用程序进行一些工作,它没有版本控制,看起来像未使用的cfm文件(test.cfm,test2.cfm等).我想了解哪些文件实际上是应用程序的一部分,所以我可以在可管理的状态下将它转换为git或subversion.
你会怎么做?一个正则表达式和一些方法来查找和映射cfinclude和cfcomponent标签?是否有一些现有工具可以做到这一点?
Ben Nadel有一种方法可以从正在运行的模板中检查实时堆栈跟踪.在我看来,您可以轻松地将其插入您的应用程序并将结果记录到数据库中.一旦你完成了这个,你就会清楚地知道什么是在使用中,什么不是.
我认为最简单的方法是启用调试(这里有关于开发服务器的标准警告等).标准的ColdFusion调试器将为您提供执行单个页面期间使用的每个文件的完整列表.ColdFire将在一个方便的Firebug扩展中执行相同的操作(单击ColdFusion,然后单击Exec Times).
应该指出的是,内置调试器甚至可以显示CFC调用中包含的文件,以及这些调用中包含的文件.它包罗万象.
Ben Nadel在Stack Traces上
Ray Camden的ColdFire
来自实时页面的CF调试示例:
alt text http://i43.tinypic.com/ofvh37.jpg
先把它放入git!然后,如果你搞砸了,你可以轻松回滚.
(如果您担心有一个'干净'存储库,那么当您完成并经过全面测试后,您可以选择删除单个.git文件夹并创建一个新文件夹.)
然后,正如Tomalak建议的那样,使用cflog
每个文件.事实上,我想说甚至可以记录两次,在每个脚本的顶部和底部,可能有助于您确定应用程序的运行方式.
不建议使用正则表达式.由于ColdFusion在包含或引用文件的方式上非常灵活,因此无法单独从源代码确定依赖关系的确定列表.
您可以
在每个文件中插入一个并从正在运行的应用程序构建日志.在应用程序处于活动状态一段时间后检查日志,并且至少访问过一次所有功能.