0

我是一个越来越喜欢编写脚本的前端人员,在这种情况下,我喜欢我的反刍标记看起来不错。

我对列表的一些数据库值运行了一个循环,虽然大多数网站只会显示大量旧的串联<LI>标签,但我有点喜欢它们 \r\n 与适当的 \t 制表符保持距离。奇怪的是,第一个列表成员呈现类似LI>而不是<LI>大约 5 个页面服务中的 1 个。

有人见过这个吗?我不应该打扰吗?我的循环格式不好吗?这是一个例子:

while ($whatever = mysql_fetch_array($blah_query)){
    echo "\t\t\t\t\t\t";
    echo "<li>\n";
    echo "\t\t\t\t\t\t";
    echo '<a href="#'.$whatever['name'].'" id="category_id_'.$whatever['id'].'">';
    echo ucfirst($whatever['name']);
    echo "</a>\n\t\t\t\t\t\t</li>\n";
}
4

4 回答 4

1

删除代码之间的空格可以显着减小文件的大小,尤其是在您的代码很长的情况下。通过删除任何缩进并最小化文件中的空格,您可以通过比缩进更快地传递请求的页面来最大限度地提高站点的连接速度。如果您的网站接收到任何合理的流量,这就会增加,因为通过删除 5-10kb 的间距,可以使每个页面的服务效率更高。从长远来看,如果您定期为用户页面提供服务,则可以通过确保您的代码使用尽可能少的空间来最小化增加的网络压力。

但是,如果您碰巧在私有环境中进行开发,最好使用缩进进行调试。与缺乏易读性的缩小代码相比,代码的样式允许您遵循它的逻辑和流程。

于 2013-12-22T02:25:53.673 回答
1

这似乎目标是输出一个为您输入正确缩进的页面源?至少现在可以调试并更容易阅读?

while ($whatever = mysql_fetch_array($blah_query)){
    echo "\t\t\t\t\t\t";
    echo "<li>\n";
    echo "\t\t\t\t\t\t";
    echo '<a href="#'.$whatever['name'].'" id="category_id_'.$whatever['id'].'">';
    echo ucfirst($whatever['name']);
    echo "</a>\n\t\t\t\t\t\t</li>\n";
}

由于您使用 PHP 来回显这些 HTML 代码,因此只需像在页面源代码中看到的那样键入它们

while($whatever = mysql_fetch_array($blah_query)){
    //When you want a new line, just hit enter. PHP will echo the carriage returns too
    echo'
                        <li>
                            <a href="#'.$whatever['name'].'" id="category_id_'.$whatever['id'].'">ucfirst($whatever['name'])</a>
                        </li>
';
}

我就是这样做的,这样每次都会换行,包括第一次我有一个剩余的“</div>”或其他没有在它之后换行的结束标记。

它将输出一个更好的干净列表项,该列表项带有中断

于 2013-12-22T02:35:17.830 回答
0

通常,删除元素之间的空格是为高流量站点“节省带宽”的一种方式。它类似于缩小 JavaScript 或 CSS。如果您仍处于“测试/开发”模式,那么当然,缩进它,这样您就可以查看是否犯了错误。但是,在任何生产环境中,有任何可观的流量,您也应该“缩小”您的 html。

这不仅仅是为了减少带宽的货币成本。这也是为了降低系统资源成本。发送一个 45k 的文件(带空格)需要更长的时间,它发送一个 29k 的文件(不带空格)。因此,您的服务器可以更快地将其推出,这反过来意味着它可以更快地释放打开的连接,这意味着它现在可以接受新的传入连接。有很多关于缩小这个想法的讨论。缩小加上压缩是网页保持高标准以快速加载的主要原因。您发送的越少,您发送的速度越快,您也可以获得更多的人。

于 2013-12-22T01:54:11.130 回答
0

我像你。一切都必须干净整洁。

我会推荐使用 XSL 作为模板引擎。如果您将其设置为 formatOutput = true,这将自动使您的所有 HTML 格式正确。

我将这些设置用于本地副本,但对于 Live Copy,我将 XSL 设置为不使用格式和空白。这将返回一行中的所有 HTML。这可以节省大约 20-30% 的 HTML 文件大小。因此,您可以节省带宽并获得更快的加载时间。浏览器的渲染速度也可能稍微快一些。

看:

http://www.php.net/xsl

$xsl->preserveWhiteSpace = false;
$xsl->formatOutput = TRUE OR FALSE;

只要看看我上面的代码,我就可以很好地设置缩进,或者在一行上输出所有内容。

于 2013-12-22T01:54:23.290 回答