不同的代码编写方式。需要建议

时间:2011-09-20 09:24:17

标签: php

我的朋友用phps echo写了所有内容。

我的意思是他开始<?并回显一切,包括标题,主要部分,页脚,甚至还有style.php文件,他回复了一些css然后将其包含在主项目中。

问题是为什么这样做会更好?或者它更好吗?

因为在梦想中,一切都是红色的。我的意思是它将所谓的东西理解为phps srtings并使所有文本变为红色。

如果你不使用echo,你在代码中有不同的颜色,你可以看到ccs,javascript或html在哪里。

那么正常写什么更好或者我应该尝试相同的“回声一切”练习?

5 个答案:

答案 0 :(得分:4)

不,这样做并不好。

不要使用echo输出HTML,而是将代码分为两部分 - 业务逻辑部分和表示逻辑部分,后者主要由HTML组成,PHP仅用于输出来自业务逻辑部分的数据

这种模板的一个小例子:

<? if ($err): ?>
  <? foreach($err as $e): ?>
<div class="err"><?=$e?></div>
  <? endforeach ?>
<? endif ?>
<form>
  <input type="text" name="name" value="<?=$form['name']?>">
  <textarea name="comments"><?=$form['comments']?></textarea>
  <input type="submit">
</form>

答案 1 :(得分:4)

如果他是这样做的话,那么请为我们拍他的头部吗?

但严重的是,有一个名为MVC的东西,请看一下,理解它,实现它并向你的朋友解释。

答案 2 :(得分:1)

那太可怕了。

如果可以提供帮助,您应该尝试不要混用PHP和HTML。

在某些情况下,将某些动态内容与静态内容交错(您可以使用模板引擎);但是通过PHP语句输出整个 HTML文档是疯狂和虐待狂的明显标志。

答案 3 :(得分:1)

使用HTML代码而不是回显具有以下优点:编辑器(在您的情况下为Dreamweaver)可以进行语法突出显示。这有助于您更快地在HTML中查找错误。

此外,您不必过多考虑在HTML中转义引号(您仍然需要考虑正确转义PHP变量)。

我可以想到几种方式可以形成呼应一切的坏习惯:

  • 在混合PHP和HTML时错过PHP标记的错误。对于一个新手来说,需要一段时间来围绕使用一种语言(PHP)以另一种语言(HTML)编写代码的概念。我记得当我第一次学习PHP时,我觉得回复所有内容会更容易,而不是一直打开和关闭PHP标签。
  • 来自语言背景,必须明确打印每个输出。
  • 在网上阅读了一些疯狂的微优化文章,声称回声更快或更安全。

答案 4 :(得分:1)

您可能对模板感兴趣。它们不是HTML或PHP,而是这两者之间的组合 优点是你可以更容易地查看/编辑/更新/维护你的代码,因为实际的php部分与html标记有些分离。
主要的缺点是它可能会慢一点,因为php读取模板,进行替换然后吐出html。

Here's a link 到一些最常用的php模板引擎。