|
|
1
4
如前所述,源代码缩进和输出缩进之间存在差异。源代码的缩进可以不同于输出的缩进,因为输出是动态构造的。在编写模板时,源代码的可读性是最重要的。你应该先集中精力!通常,输出的HTML缩进是没有问题的。 已经说过,有两种实用的方法可以消除输出中的缩进不匹配: 使用可正确缩进输出的模板语言第一个例子是 Haml 是Ruby的模板语言。需要这样的模板:
输出将被整齐地格式化为HTML,类似于您的示例,所有的缩进都是正确的。 这种方法的一个明显的缺点是,您没有真正在模板中编写HTML,而是用一种不同的语言编写,使用类似HTML的语义。这可能是一个问题,取决于谁将维护视图。 从输出中去掉所有多余的空白,完全不缩进有些模板语言可以选择删除所有多余的空白。smarty for php有一个 whitespace trimming plugin 比如说,这项工作做得很好。它完全解决了输出美化问题,有目的地使所有输出均无缩进。它还节省了非常少量的带宽。
一个只使用PHP的解决方案是
|
|
|
2
5
我想说,两者之间有区别 HTML 和 源代码 压痕。在典型的MVC视图中,您使用源代码,我认为应该以可读的方式缩进源代码。 但是实际的HTML输出是另一回事。当然,朝气缩进的源看起来有点不专业(这就是为什么我有时倾向于删除任何缩进,但这通常涉及到一些HTML后处理),但对于浏览器本身,如果根本不重要,如果我真的需要查看源代码,我将使用格式化程序或firebug来显示所有的dom elem格式很好。 |
|
|
3
3
很抱歉添加了第三个答案!已经有一段时间了,我想补充一个答案,请不要投我一票。我只是觉得应该这样说: 这似乎可行,aka有两个不同的“线程”缩进,一个用于php,另一个用于html:
通过始终让php标记从行的开头开始,并在php块代码中缩进,得到的代码将保持干净:
PHP和HTML的缩进逻辑保存在源文件中,尽管每个都是自己的。 |
|
|
4
1
我想这里可以发明一些东西来跟踪缩进。 我相信,可以同时正确地缩进PHP和正确地缩进HTML,但是需要编写代码来处理这一点,无论是作为PHP扩展还是作为库(这样做的优雅性和效率要低得多)。 我的第一个猜测是PHP跟踪HTML的缩进,当打印一行新行时,恢复到前一级的缩进,这类似于大多数IDE在输入时所做的。 PHP程序员可以通过这些函数来控制这一点(我现在只是在编这些东西):
|
|
|
5
1
我有时会在双引号字符串中使用\t作为HTML的一些基本缩进。它帮助我调试东西。此外,我尽可能将HTML保存在模板中,即使这意味着用foreach循环来清除模板。在模板(在MVC中称为“视图”)中,PHP代码缩进通常遵循HTML代码。 我还可以向生成HTML的函数添加一个参数,以使它们具有“缩进感知”示例:
结果是 主要地 缩进的HTML,这很适合我。 顺便说一句,在您的示例中,这不是应该发生的事情,afaik,表中的h1应该适当缩进,通常情况下,因为php输出从“<?”开始。,此时选项卡已打印。 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 1 年前 |
|
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 1 年前 |
|
|
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 1 年前 |