我的问题是使用多个PHP include()是否一个不好的想法。我问这个问题的唯一原因是因为我总是听说在网站上有太多样式表或脚本会创建更多的HTTP请求并减缓页面加载速度。 我想知道PHP是否也是如此。
我的问题是使用多个PHP include()是否一个不好的想法。我问这个问题的唯一原因是因为我总是听说在网站上有太多样式表或脚本会创建更多的HTTP请求并减缓页面加载速度。 我想知道PHP是否也是如此。
详细解答:
网页中引用的每个 CSS 或 JS 文件实际上都是由浏览器通过网络获取的,这涉及到通常为 100 毫秒甚至更多的网络延迟。对同一服务器的请求(尽管没有强制规定)一次只能处理一两个,因此这些延迟会堆积。
另一方面,PHP include 文件则全部在服务器上进行处理。与数百毫秒相比,本地磁盘访问仅需要10毫秒或更少的时间,如果缓存,则直接访问内存,速度会更快。
如果使用 如http://eaccelerator.net/ 或 http://php.net/manual/en/book.apc.php 这样的工具,那么您的 PHP 代码将在服务器上预编译一次,而且即使是包含文件或将它们全部放在一个位置,性能也不会受到影响。
简短回答:
别担心这个问题。99 次中有 100 次,更好的代码组织方式的好处优于性能提升。
正如已经提到的,使用多个PHP包含文件有助于保持代码的组织性,因此这并不是一个坏主意。当使用太多的包含文件时,会成为一个问题,因为Web服务器将不得不为每个包含文件执行I/O操作。
如果您有一个大型的Web应用程序,可以使用PHP加速器来提高其性能,它可以将数据和编译后的代码从PHP字节码编译器缓存到共享内存中。如果在特定文件中有许多PHP包含文件,则它们将仅被执行一次。对该文件的进一步调用将命中缓存,因此不会执行任何PHP require操作。
这真的取决于你想做什么,我的意思是,如果你有一段经常使用的代码,那么把它包含进来会非常方便,而不是一直复制粘贴,这样可以使你的代码更清晰,也不会变慢。但是,如果你在文件中包含了所有你编写的函数或类,却没有使用它们,那当然不是一个好的实践...我建议使用一个框架(比如codeigniter或其他你觉得方便的框架),因为它真的有助于解决这些问题...祝你好运!