2009-10-27 70 views
1

我一直在研究一个小型的PHP应用程序(总共400K)。但在建设和学习的过程中,我有很多垃圾文件。如何清理PHP项目?

我没有做我的工作,妥善为它们命名,即demo1.php等...

有没有办法做相关性检查?还是只是删除,刷新和重复?然后在需要时取消删除?

回答

4

没有什么神奇的工具,它会为你做这个,有唯一的功能,这将帮助你实现你自己的解决方案。

你想要的功能是

get_included_files(); 

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

我会采用它来添加代码,将代码记录到某个地方,然后让您的应用程序运行一两天(或者自己练习所有的功能)。这应该会给您一个完整的项目文件列表实际上正在使用,允许您清理未出现在列表中的文件。这个日志可以作为简单

file_put_contents('/tmp/files.txt',print_r(get_included_files(), true),FILE_APPEND); 
+0

听起来很有希望,但有点过头了。这会花费我更长的时间来弄清楚,而不是手动清理。 – shaiss 2009-10-27 18:21:41

0

听起来像你需要从版本控制系统开始。如果你的项目已经被废弃了,那么你可能需要咬一口子弹并手动清理。

+0

我使用的是颠覆,但是我仍然提交了我的测试文件。我想我必须手动进行。 – shaiss 2009-10-27 18:21:08

+1

@shaiss你为什么要提交测试文件?如果您一遍又一遍地以不同的名称提交同一文件,则不能正确使用版本控制。 – 2009-10-27 18:24:05

+0

不是同一个文件。即。我创建了readini,并想出了如何读取我们拥有的ini文件并提取值。然后我创建了testEmp并在那里做了一些测试。你的权利,我可能不应该摆在首位。 – shaiss 2009-10-27 18:41:52

3

我现在处于同样的状况,清理了一个非常大的项目,其中有些项目已经有几年了。

做的工作是什么我发现最重要的是:

  • 版本控制。我使用TortoiseSVN是因为它的Windows资源管理器集成度很高。我试图在每次更改后检查以避免很多痛苦和痛苦。

  • 一个很好的和方便的搜索功能,使基本依赖检查(如果是XYZ-$>使用loadFromOtherSource?)。我使用nusphere PhpEd,但是有很多工具都具有良好的搜索功能。

除此之外,没有可靠的PHP重构/依赖项检查工具,我知道。

0

这将是难以完成 - 有没有办法让一个IDE或类似工具,知道哪些PHP文件,意在以某种方式VS那些被认为是包括由最终用户直接访问。

且不说PHP让你做真正的动态文件包含诸如该

$page = $_GET['page']; 
include('templates/' . $page . '.php'); 

最后,你只是要需要大量的尽职调查。

0

几年前,当接管离开我们公司的另一位开发人员的代码时,我也遇到了类似的问题。由于代码已经投入生产,因此完全重写不是一种选择。但代码在当前状态下无法管理。

1)我创建了原始源代码的存储库。

2)我创建了测试代码来测试他的应用程序的功能。

3)我去掉了移动,移动和清理函数的过程,直到源代码更易于管理。每次成功更改后检入源代码。

-1

Hy你可以自动加载你的文件。 ex。 myfile.php该类也应该命名为myfile

<?php 
function __autoload($class_name) { 
     require_once $class_name . '.php'; 
    } 

    $obj = new MyClass1(); 
    $obj2 = new MyClass2(); 
    ?> 
+0

对不起,我没有关注 – shaiss 2009-10-27 18:42:24

+0

这只适用于已包含的类文件。这不会涵盖其他任何内容。 – 2009-10-27 23:24:23

+0

所以我认为清洁首先在你的头上开始。那就是你应该先清理的地方。 – streetparade 2009-10-28 09:52:54