Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
滚动和打包PHP脚本_Php_Optimization - Fatal编程技术网

滚动和打包PHP脚本

滚动和打包PHP脚本,php,optimization,Php,Optimization,我刚刚读了一遍关于使用include_once和require_once的利弊辩论。特别是从那次讨论中,我消除了一个事实,即PHP中的任何类型的include本身都是昂贵的,因为它需要处理器将新文件解析为操作代码等等 这让我开始思考 我已经编写了一个小脚本,它将把许多Javascript文件滚动到一个文件中,并将所有内容附加到另一个文件中,这样可以减少HTTP请求和总体带宽使用 通常对于我的PHP应用程序,我有一个includes.PHP文件,它包含在每个页面上,然后包含我需要的所有类和其他库。

我刚刚读了一遍关于使用include_once和require_once的利弊辩论。特别是从那次讨论中,我消除了一个事实,即PHP中的任何类型的include本身都是昂贵的,因为它需要处理器将新文件解析为操作代码等等

这让我开始思考

我已经编写了一个小脚本,它将把许多Javascript文件滚动到一个文件中,并将所有内容附加到另一个文件中,这样可以减少HTTP请求和总体带宽使用

通常对于我的PHP应用程序,我有一个includes.PHP文件,它包含在每个页面上,然后包含我需要的所有类和其他库。我知道这可能不是最好的做法,但它是有效的——PHP5的自动加载功能在任何情况下都会使它变得更好

我应该在我的PHP文件上应用相同的滚动技术吗


我知道关于过早优化是邪恶的说法,但让我们把这个问题当作理论问题,好吗?

正如你所说:过早优化。。。。同样,如果您担心性能,请使用操作码缓存(如APC),这会使此问题几乎消失。

正如您所说:过早优化。。。。同样,如果您担心性能,请使用操作码缓存(如APC),这会使此问题几乎消失。

这在某种程度上取决于解析几个小文件还是解析一个大文件需要更多的工作。如果您根据需要需要文件,而不是说您必须这样做,那么对于某些执行路径,所需的编译量可能比将所有代码汇总到一个大PHP文件中所需的编译量要少得多,而解析器必须对整个PHP文件进行编码,无论是否需要


与这个问题相一致,这不仅仅是对PHP运行时内部的专业知识的思考,听起来似乎太过关注这一点并没有任何实际好处。如果您的PHP速度严重放缓,如果require_的使用一度成为瓶颈,我会非常惊讶。

这在某种程度上取决于解析几个小文件还是解析一个大文件需要更多的工作。如果您根据需要需要文件,而不是说您必须这样做,那么对于某些执行路径,所需的编译量可能比将所有代码汇总到一个大PHP文件中所需的编译量要少得多,而解析器必须对整个PHP文件进行编码,无论是否需要


与这个问题相一致,这不仅仅是对PHP运行时内部的专业知识的思考,听起来似乎太过关注这一点并没有任何实际好处。如果您的PHP速度严重放缓,如果require_的使用一度成为瓶颈,我会感到非常惊讶。

这不是对您直接问题的回答,只是关于js打包的问题


如果您不使用javascript文件,并允许它们单独包含在HTML源中,浏览器将缓存这些文件。然后,在浏览器请求相同javascript文件的后续请求中,服务器将返回304 not modified头,浏览器将使用缓存版本。但是,如果您在每次请求时都将javascript文件打包在一起,浏览器将在每次加载页面时重新下载该文件。

这不是对您直接问题的回答,只是关于您的js打包


如果您不使用javascript文件,并允许它们单独包含在HTML源中,浏览器将缓存这些文件。然后,在浏览器请求相同javascript文件的后续请求中,服务器将返回304 not modified头,浏览器将使用缓存版本。但是,如果您在每次请求时都将javascript文件打包在一起,浏览器将在每次加载页面时重新下载文件。

Windows上的Apache/PHP存在问题,导致应用程序在加载文件时速度非常慢,甚至触摸过多的文件页面(加载约50-100个文件),可能只需几秒钟即可处理文件业务。此问题在包括/要求和使用文件打开、文件获取内容等方面都会出现。
因此,如果你或者更可能是其他任何人,由于这篇文章的年代久远,会在apache/windows上运行你的应用程序,那么减少加载的文件数量对你来说是绝对必要的。将更多的PHP类合并到一个文件中—一个自动脚本,因为它会很有用,我还没有找到一个,或者注意不要触摸你应用程序中任何不需要的文件。

Windows上的Apache/PHP存在问题,导致应用程序在加载时速度非常慢,甚至触摸过多的文件页面(加载约50-100个文件)可能只需几秒钟就可以处理文件业务。这个问题出现在b 其他,包括/要求和使用文件打开、文件获取内容等。
因此,如果你或者更可能是其他任何人,由于这篇文章的年代久远,会在apache/windows上运行你的应用程序,那么减少加载的文件数量对你来说是绝对必要的。将更多PHP类合并到一个文件中一个自动脚本会很有用,我还没有找到一个,或者请注意不要在应用程序中接触任何不需要的文件。

否否-打包只完成一次,然后部署到服务器。我已经写了一篇关于我在这里使用的方法的博文:不,不,在部署到服务器之前,打包只完成一次。我写了一篇关于我在这里使用的方法的博文: