有多少 PHP 包含太多?

2022-08-31 00:49:49

我网站上的每个页面都是使用PHP呈现的。

每个 PHP 文件使用大约 10 个包含。因此,对于显示的每个页面,除了其其余功能(MySQL等)之外,服务器还需要获取10个文件。

我应该将它们合并为一个包含文件吗?这会对现实世界的速度产生任何影响吗?这不是一项微不足道的任务,因为会有一个可变范围的意大利面条需要整理。


答案 1

包含文件在服务器上处理,因此浏览器不会“提取”它们。使用包含与复制和粘贴代码或合并文件的性能差异可以忽略不计(我猜我们谈论的是10毫秒到100毫秒的范围,绝对最多),这根本不值得。

随意并尽情满足。干净的代码比将页面加载时间缩短不到100毫秒要重要得多。如果你正在构建一些时间至关重要的东西,那么你无论如何都不应该使用PHP。includerequire


答案 2

需要时间的是弄清楚文件在包含路径中的实际位置。如果包含路径中有多个位置,PHP 将搜索每个位置,直到找到文件或失败(在这种情况下,它会引发错误)。这就是为什么您应该将包含路径放在包含路径之上的大多数包含文件的位置。

如果在包含路径中使用绝对路径,PHP 会将该路径缓存在 realpath 缓存中,但请注意,这很快就会过时。所以,是的,包含十个文件可能比包含一个大文件慢,仅仅是因为PHP必须更频繁地检查包含路径。但是,除非您的Web服务器是一台非常弱的计算机,否则十个文件不足以产生影响。只有当包含数百个文件或有许多位置要搜索时,这才会变得有趣,在这种情况下,您无论如何都应该使用OpCode缓存。

另请注意,在包含文件时,最好在开头包含每个文件,因为您可能包括应用程序从未为特定请求调用的文件。


参考


推荐