Php 你会为标记格式设置烦恼吗?

Php 你会为标记格式设置烦恼吗?,php,html,tabbing,Php,Html,Tabbing,我是一个前端人员,越来越多地使用脚本,在这种情况下,我喜欢我的反向标记看起来很漂亮 我在一些数据库值上运行了一个循环以获得一个列表,虽然大多数站点只会背对背地显示大量的标记,但我有点喜欢使用适当的\r\n制表符将它们隔开。奇怪的是,第一个列表成员呈现为LI>而不是大约五分之一的页面服务 有人看到这个吗?我应该不麻烦吗?我对循环的格式设置不当吗?下面是一个例子: while ($whatever = mysql_fetch_array($blah_query)){ echo "\t\t\t

我是一个前端人员,越来越多地使用脚本,在这种情况下,我喜欢我的反向标记看起来很漂亮

我在一些数据库值上运行了一个循环以获得一个列表,虽然大多数站点只会背对背地显示大量的
  • 标记,但我有点喜欢使用适当的\r\n制表符将它们隔开。奇怪的是,第一个列表成员呈现为
    LI>
    而不是
  • 大约五分之一的页面服务

    有人看到这个吗?我应该不麻烦吗?我对循环的格式设置不当吗?下面是一个例子:

    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";
    }
    
    while($whatever=mysql\u fetch\u数组($blah\u query)){
    回显“\t\t\t\t\t”;
    回声“
  • \n”; 回显“\t\t\t\t\t”; 回显“\n\t\t\t\t\t\t
  • \n”; }
    通常,删除元素之间的空格是一种为高流量站点“节省带宽”的方法。这类似于缩小JavaScript或CSS。如果您仍处于“测试/开发”模式,请确定,将其缩进,以便查看您是否犯了错误。然而,在任何具有可观流量的生产环境中,yo你也应该“缩小”你的html


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

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

    我建议使用XSL作为模板引擎。如果将其设置为formatOutput=true,则会自动使所有HTML正确格式化

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

    见:


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

    删除代码之间的空格可以显著减少文件的大小,特别是当代码的长度很大时。通过删除任何缩进并最小化文件中的空格,您可以最大限度地提高与sit的连接速度e通过比缩进时更快地交付请求的页面。如果您的网站接收到任何合理的流量,这会增加流量,因为通过删除5-10kb的间距,可以提高服务的每个页面的效率。从长远来看,如果您定期为用户页面提供服务,可以通过确保您的代码使用尽可能少的空间


    尽管如此,如果您碰巧是在私有环境中开发,使用缩进进行调试是一种很好的做法。与缺乏可读性的小型代码相比,代码的样式允许您遵循其逻辑和流程。

    这似乎是为了输出一个页面源代码,为y键入正确的缩进欧点? 至少现在是为了调试和更容易阅读

    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";
    }
    
    while($whatever=mysql\u fetch\u数组($blah\u query)){
    回显“\t\t\t\t\t”;
    回声“
  • \n”; 回显“\t\t\t\t\t”; 回显“\n\t\t\t\t\t\t
  • \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>
    ';
    }
    
    while($whatever=mysql\u fetch\u数组($blah\u query)){
    //当您需要一个新行时,只需点击enter。PHP也会回显回车
    回声'
    
  • '; }
    我就是这样做的,这样每次它都会换行,包括第一次,如果我有一个剩余的“”或一些其他结束标记,后面没有换行符


    它将输出一个更好的、干净的列表项,该列表项以制表符插入

    我建议不仅不要添加制表符,还要删除不必要的制表符/空格以增加带宽,我个人会为调试设置一个标志,使用一些外部工具或简单地使用w3验证器将其格式化。如果您正在寻找实时站点更改,我绝对同意,尽管我发现使用缩进编码要容易得多。一旦我准备好把它推到网上,一个简单的命令(ctrl)f和删除标签,我在简单的步骤完成。谢谢男人。。。完全忘记了PHP中的空格保留。嗯。。所有这些都是很好的提示,是的,我知道在现场服务中消除WS。。。我想我总是可以在调试中加入一个美化器。谢谢大家!!
    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>
    ';
    }