我一直在研究一个小型的PHP应用程序(总共400K)。但是在构建和学习的过程中,我有很多垃圾文件。
我没有完成我的工作并正确命名,即demo1.php
等......
有没有办法进行依赖性检查?或者只是删除,刷新和重复?然后在需要时取消删除?
答案 0 :(得分:4)
没有任何神奇的工具可以帮助您实现这一目标。
你想要的功能是
get_included_files();
这将返回到目前为止包含的任何文件的数组。将它放在引导程序文件的末尾(或所有单个文件的末尾),您可以获得已包含或需要的每个文件的列表。这不会报告用file_get_contents
,fopen
等打开的文件。这就是为什么有一个好主意可以让某些包装函数/类为你调用这些函数(允许你挂钩)如果需要,可采取行动)
我采取的方法是添加代码,将代码记录在某处,然后让你的应用程序运行一两天(或者自己运行所有功能)这应该会为你提供一个完整的文件列表。项目实际上正在使用,允许您清理列表中没有出现的文件。此日志记录可以像
一样简单file_put_contents('/tmp/files.txt',print_r(get_included_files(), true),FILE_APPEND);
答案 1 :(得分:3)
我现在处于相同的状况,清理了一个非常大的项目,其中一些项目已有数年之久。
我发现最重要的是做这项工作:
版本控制。我使用TortoiseSVN是因为它具有出色的Windows资源管理器集成功能。我尝试在每次更换后办理登机手续以避免太多的痛苦和痛苦。
一个非常好的方便的搜索功能,可以进行基本的依赖性检查(在哪里使用$ xyz-> loadFromOtherSource?)。我使用nusphere PhpEd但是有很多工具都有很好的搜索功能。
除此之外,我所知道的PHP没有可靠的重构/依赖性检查工具。
答案 2 :(得分:0)
听起来你需要从版本控制系统开始。如果您的项目已被破坏,那么您可能需要咬紧牙关并手动清理它。
答案 3 :(得分:0)
这将很难实现 - IDE或类似工具无法以某种方式知道哪些PHP文件与那些应该由最终用户直接访问的文件包含在内。
更不用说PHP允许你真正实现动态文件包含,例如这个
$page = $_GET['page'];
include( 'templates/' . $page . '.php' );
最后,你需要进行大量的尽职调查。
答案 4 :(得分:0)
几年前,当我从其他离开我们公司的开发人员手中接过代码时,我遇到了类似的问题。完全重写不是一个选项,因为代码已经在生产中。但是代码在当前状态下无法管理。
1)我创建了原始源代码的存储库。
2)我创建了测试其应用程序功能的测试代码。
3)我去了删除,移动和清理函数的过程,直到源代码更易于管理。每次成功更改后检入源代码。
答案 5 :(得分:-1)
Hy你可以自动加载你的文件。 恩。 myfile.php该类也应该命名为myfile
<?php
function __autoload($class_name) {
require_once $class_name . '.php';
}
$obj = new MyClass1();
$obj2 = new MyClass2();
?>