为什么尽可能在代码中将PHP与HTML分开?

时间:2013-05-27 06:10:53

标签: php html output

现在我已经问了两次,并且我已经回复说我应该尽可能地将PHP与HTML分开。而不是使用:

<?php
echo "<p>The value of x is $valuex greater.</p>";
?>

我应该使用:

<p>The value of x is <?php echo $valuex; ?> greater.</p>

除了格式之外我还应该知道吗?

7 个答案:

答案 0 :(得分:1)

第二个需要echo

<p>The value of x is <?php echo $valuex; ?> greater.</p> 

或者简单地说,

<p>The value of x is <?=$valuex ?> greater.</p>

阅读: What's the best way to separate PHP Code and HTML? 。另请阅读Escaping From HTML

答案 1 :(得分:1)

PHP的一个独特之处在于,它既可以用于服务器端语言,也可以用于模板语言。理想情况下,您的代码将分为控制器和视图,其中您的控制器是 PHP(没有任何HTML),并且您的视图主要是 HTML(使用最少的PHP)。当您编写控制器时,PHP就像任何其他服务器端语言一样。但是当你编写一个视图时,PHP就变成了一种模板语言,在这种情况下,HTML应该统治。

将两者分开的另一个好理由是语法突出显示。在您的第一个示例中,大多数编辑器都不会意识到字符串中的文本实际上是HTML,因此他们不知道应用语法突出显示。这意味着您的代码可能难以阅读,从而使后续开发人员的生活变得困难。

答案 2 :(得分:1)

区别在于:

<?php $valuex = 6; ?>

<p>The value of x is <?php echo $valuex; ?> greater.</p>

这里你需要只回显php变量部分。

<?php
echo "<p>The value of x is $valuex greater.</p>";
?>

在这里你需要回应整个部分。

答案 3 :(得分:0)

两种情况下的输出都是相同的。

第一个例子是PHP输出HTML代码 第二个例子是里面有PHP的HTML代码 “理想”的例子就是:

<p>The value of x is <?=$valuex?> greater.</p>

答案 4 :(得分:0)

在第一个上改变语法,如

<?php
   echo "<p>The value of x is ".$valuex." greater.</p>";
?>

并在第二个更改为回显值

<p>The value of x is <?php echo $valuex; ?> greater.</p>

但两种符号都相同,并且相同

答案 5 :(得分:0)

这样做的原因是,坦率地说,您希望始终尽可能灵活。然而,将你的php与html混合意味着你的php-core与你的模板混在一起,因此你将有更多的时间来维护,改变&amp;提供不同的模板/语言等。因此总是将它分开。

答案 6 :(得分:0)

分离它们时,维护HTML和PHP代码要容易得多。