2010-09-13 88 views
1

我有大约10个使用大约30个函数的动态php页面。每个功能需要超过1页,每个页面需要不同的功能子集。在几个php页面之间共享功能的最有效方式

我一直在琢磨这些选项:

1 - 所有的功能在一个单一的文件包括:每个页面加载不需要的代码

2 - 在自己的每个功能包括文件:过多的服务器请求时加载每一页

4时附加的处理 - 一个包括每PHP页面文件,用的副本:单包括用条件仅需要基于REQUEST_URI声明函数文件 - 加载每一页

3该页面需要的功能:难以维护

人们如何处理这种情况?谢谢!

回答

3

将相关函数扔入库中包括。根据需要包含库。

此外,如果你花另外5秒钟想着这个,那将是你浪费

另外5秒(如果你不明白我在说什么,担心包括优化约为在你应该担心的事情列表中,第五十亿事情,直到最终用户报告的性能问题和随后的分析告诉你为止。)

+0

只是寻找地方来提高页面加载时间。将按照您的建议从别处开始。谢谢 – Deg 2010-09-13 22:56:04

1

选项1是最简单,最容易维护的,可能运行速度比选项2和3要快。选项4的运行速度会非常快,但这是以维护噩梦为代价的。

棒与选项1

+0

如果你只有30个功能,只需将它们放入一个文件并完成。 – TRiG 2010-09-13 20:29:46

+0

目前它们都在一个文件中。科森斯似乎是不值得惹恼它的。 THANKs – Deg 2010-09-13 23:01:56

0

您的问题呼喊OOP。

按类别组织代码。根据需要加载类。

More into PHP OOP.

您加载的服务器最多30个功能上的影响相对于具有维护地图和可能链接到所有30个函数自己的影响是卑鄙的。

+4

嗯,没有。如果这30个函数都是逻辑上相关的,也许。海报不说。但是,如果这些功能在逻辑上不相关,那么不要将它们束缚到一个班级中。这不是OOP。 – 2010-09-13 20:36:08

+2

@Frank Shearar只是试图将海报指向正确的方向。他没有**缝试图重新使用代码**和**我从来没有说**将所有的功能放在一个类中。 *只需将代码组织到类中并根据需要加载它们。* – Frankie 2010-09-13 20:44:46

+0

我还没有找到广泛的组。将现在保持在一起,但一些关于OPP的阅读可能对以后的工作很有帮助......谢谢 – Deg 2010-09-13 23:00:29

0

首先将它们放在一个include_once'ed文件中。

如果性能成为问题,请首先在服务器上安装PHP加速器(将解析的PHP缓存到操作码中,以避免不断重新解析)。

当维护成为问题时,按功能分解它们。尽管如此,你仍然会得到一个全能的“util.inc”或“misc.inc”文件...

+0

感谢您的帮助 – Deg 2010-09-13 23:03:25

+2

'.inc'文件的问题在于您的代码可能对其他人可见。要么告诉你的网络服务器将带'.inc'扩展名的文件解释为PHP,要么将你的'.inc'文件放在网络上不可见的目录中,或者将你包含的代码放在'.php'文件中。如果您包含的代码包含敏感信息(如数据库密码),则情况尤其如此。 – TRiG 2010-09-14 09:14:15

+0

...或告诉你的Web服务器永远不会显示.inc文件。将包含的代码放在Web服务器可以访问的.php文件中是不好的做法,因为如果它们意外执行,你不会去测试看看会发生什么,并且如果它们发生了可能会发生坏事。 – gavinandresen 2010-09-14 12:01:27

相关问题