使用echo在php文件中输出HTML代码总是更好吗?

时间:2011-03-01 15:13:55

标签: php html

  

可能重复:
  Easiest way to echo HTML in PHP?

您好,

一个简单而简短的问题。如果你有一个包含HTML代码的php文件,最好用echo做输出还是直接将HTML代码写入文件?例如,some.php文件包含:

<div>This is a text</div><a href="www.example.com">test</a><?php if(---) { whatever; } ?>

或:

<?php echo "<div>This is a text</div><a href=\"www.example.com\">test</a>"; if(---) { whatever; } ?>

哪个版本更快,更清洁,更好?

4 个答案:

答案 0 :(得分:6)

在我看来,这实际上取决于代码片段的长度。对于简单的线条,我只使用回声。对于较长的部分(特别是有很多“逃脱”)我更喜欢“关闭”PHP代码(你的第二种方法)。

根据要打印的文本/ HTML的数量,我还考虑使用某种简单的模板引擎来加载模板文件,只需填写动态变量/占位符/间隙。

答案 1 :(得分:4)

我更喜欢第一种方法,这意味着HTML不应该尽可能地与PHP混合使用。有了这个,我不必担心引号的不匹配等。存在heredocs syntax但是第一种方法是我觉得更容易使用的东西。

选择一种您更熟悉的方式,如果他们不得不这样做,那么其他程序员就可以更轻松地处理您的代码:)

答案 2 :(得分:4)

您的问题似乎暗示您将PHP和HTML保存在同一个文件中。你可能想考虑将两者分开。这将为您提供一个看起来像您的第一个示例的HTML模板。

这不仅可以更容易地专注于PHP或HTML,而且像lonesomeday提到的那样,您将能够利用IDE的HTML处理功能,这可以使您更轻松。此外,让网页设计师在前端工作更容易,而不必理解PHP。

答案 3 :(得分:-1)

请重写:

<?php 
echo '<div>This is a text</div><a href="www.example.com">test</a>'; 
if(---) { whatever; } 
?>

单引号解析faster然后解析双引号。其次,我听说PHP块的打开和关闭会造成性能损失,但我无法确认。

这只是个人偏好。我喜欢用PHP回显所有的HTML。