PHP - 将代码拆分成多个文件或将其保存在尽可能少的文件中?

时间:2011-01-27 16:14:04

标签: php file server-side-includes

现在我的脚本在4个文件中达到了400 KB(每个文件大约3500行)。

我应该将其拆分成更多文件吗?

由于多次require_once来电,是否有更多文件对性能产生影响?

6 个答案:

答案 0 :(得分:9)

使用requireinclude时,PHP会处理所有文件,就好像它是一个大文件一样(想象一下将所包含文件中的代码复制并粘贴到主文件中)。

从拆分成单独文件中获得的唯一好处就是组织。使用那么多代码时,组织可以巨大,所以它实际上取决于哪种方法最适合你。

答案 1 :(得分:4)

Hardware is cheap, Programmers are expensive。正如profitphp所说,性能打击是可以忽略不计的。从长远来看,什么是更大的资源浪费?在成千上万行代码文件中工作的复杂性,或者你将节省的微秒加载时间?

我不知道你的动机,但如果重组你的代码会让你进入一个舒适的环境,那就去吧!虽然重构时要小心,不要咬得比你咀嚼更多。并使用源代码控制。

答案 2 :(得分:4)

我有一个13000行的大型脚本,我将其他三个脚本组合在一起,但它完全与视图和用户管理相关,处理输出和接收输入。这些函数在另一个8000行文件中,我确保两者之间没有任何泄漏。函数文件中没有HTML,主文件中没有SQL。如果我可以使用对象,这会有所不同吗?当然。不能。

故事的寓意是:这一切都取决于是什么让你对相关剧本感到满意。我有另外一个是5个小文件,因为它更有意义;这个有两个大的意义。

答案 3 :(得分:2)

影响可以忽略不计。你可以通过加速数据库查询等方式获得更多优势。但是,包括或要求比require_once略快,因为它不必检查它是否已经包含在手中。

所以要回答这个问题,“你应该把它分成更多的文件吗?”。当然,如果能保持清洁,请继续。

答案 4 :(得分:1)

我会认真考虑使用诸如Kohana

之类的MVC框架

答案 5 :(得分:1)

将相关行拆分为函数。将相关的功能和数据分组到类中。如果您在编写代码时没有考虑如何组织代码,那么您将为其他人或您自己创建更多的工作。