你如何清理PHP项目?

时间:2009-10-27 18:10:35

标签: php dependencies

我一直在研究一个小型的PHP应用程序(总共400K)。但是在构建和学习的过程中,我有很多垃圾文件。

我没有完成我的工作并正确命名,即demo1.php等......

有没有办法进行依赖性检查?或者只是删除,刷新和重复?然后在需要时取消删除?

6 个答案:

答案 0 :(得分:4)

没有任何神奇的工具可以帮助您实现这一目标。

你想要的功能是

get_included_files();

这将返回到目前为止包含的任何文件的数组。将它放在引导程序文件的末尾(或所有单个文件的末尾),您可以获得已包含或需要的每个文件的列表。这不会报告用file_get_contentsfopen等打开的文件。这就是为什么有一个好主意可以让某些包装函数/类为你调用这些函数(允许你挂钩)如果需要,可采取行动)

我采取的方法是添加代码,将代码记录在某处,然后让你的应用程序运行一两天(或者自己运行所有功能)这应该会为你提供一个完整的文件列表。项目实际上正在使用,允许您清理列表中没有出现的文件。此日志记录可以像

一样简单
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(); 
    ?>