【问题标题】:Will minifying the HTML portion of a PHP file have an effect on performance and bandwidth?缩小 PHP 文件的 HTML 部分会影响性能和带宽吗?
【发布时间】:2016-10-23 08:32:45
【问题描述】:

假设我有,例如:

<body>
    <h1>Title</h1>
    <article>
        <h2>Article</h2>
        <p>Here's a list of some stuff</p>
        <ul>
        <?php
            foreach ($examples as $example) {
                echo "<li>" . $example . "</li>";
            }
        ?>
        </ul>
    </article>
</body>

我知道缩小这样的文件是可能的,但我的问题更多地与它是否值得做有关。

缩小此类文件的 HTML 部分是否会对性能产生影响?如果可以,如果它是通过require('file.php') 使用而不是通过浏览器请求file.php,它还会这样做吗?

这些性能差异是否只会影响解释器的处理时间,还是会对最终发送到浏览器的数据量产生影响?

【问题讨论】:

  • @j08691 该问题的答案是否适用于整个 PHP 文件,包括 &lt;?php ?&gt; 之外的 html,还是仅适用于 PHP 代码本身?
  • 除了删除换行符和一些缩进之外,几乎没有什么可以缩小的html。它不是一种编程语言,所以你不能将 &lt;img&gt; 标签缩小到 &lt;i&gt; - 现在它是斜体,不再是图像了。
  • PHP 解释器不关心&lt;?php?&gt; 标记之外的文本。然而,缩小它会减少通过网络发送的数据量,并且页面加载速度(稍微)更快。

标签: php html minify


【解决方案1】:

是的,它对带宽有影响。通常,缩小/丑化是用 JavaScript 代码和 CSS 样式完成的,因为它在那里有很大的影响。有很大的开销,例如图书馆没有缩小/丑化。对于 HTML,它显然对带宽有相同的影响,但范围要小得多。例如,您的 HTML sn-p 可以被缩小并且可以保存 119 字节 (ASCII)。这是 39%,但绝对值非常低,为 119 字节。

因此,我建议仅在 HTML 的大部分内容不寻常或使用 HTML 模板时才缩小标记。使用 HTML 模板,很容易将其缩小,但如果您使用 PHP 的 echo 逐行输出 HTML 标记,则必须手动进行缩小。

还要确保启用gzip。与缩小 HTML 相比,使用 gzip 压缩可以节省更多。您可以启用它,例如使用该命令(在第一个输出行之前)。

<?php ob_start("ob_gzhandler"); ?>

【讨论】:

  • 只是为了澄清一点,通过 HTML 模板,您指的是纯或接近纯 HTML 文件 I include()require(),以及未通过 @ 添加的 HTML 987654326@,对吗?
  • 是的,PHP 可以使用include()require(),其他语言或框架都有内置的模板引擎。例如。在 Angular.js 例如您可以缩小 HTML 文件并将它们传递给路由控制器,该控制器使用它的模板引擎来呈现它们
【解决方案2】:

如果您的 HTML 在 PHP 脚本中,并且您正在缩小 PHP 脚本,您可能会认为 HTML 也随之被缩小。但这取决于你的缩小器是如何工作的。

请参阅this question 了解缩小 HTML。答案似乎是,它不会影响性能值得你花时间

【讨论】:

    猜你喜欢
    • 2012-08-02
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多