0

现在我已经两次询问并得到答复,我应该尽可能将 PHP 与 HTML 代码分开。而不是使用:

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

我应该使用:

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

除了格式,我还应该知道什么不同吗?

4

7 回答 7

1

你需要echo在第二个,

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

或者简单地说,

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

阅读: 分离 PHP 代码和 HTML 的最佳方法是什么?. 另请阅读从 HTML 中转义

于 2013-05-27T06:13:00.213 回答
1

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

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

于 2013-05-27T06:13:12.713 回答
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>";
?>

在这里,您需要回显整个部分。

于 2013-05-27T06:14:06.857 回答
0

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

第一个示例是 PHP 输出 HTML 代码第二个示例是其中包含 PHP 的 HTML 代码“理想”示例是这样的:

<p>The value of x is <?=$valuex?> greater.</p>
于 2013-05-27T06:14:27.920 回答
0

在第一个更改语法如

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

并在第二个更改以回显类似的值

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

但是两个符号是相同的,并且工作相同

于 2013-05-27T06:14:48.397 回答
0

这样做的原因是坦率地说,您总是希望尽可能灵活。但是,将您的 php 与 html 混合意味着您的 php-core 与您的模板混合在一起,因此您将很难维护、更改和提供不同的模板/语言等。因此,请始终将其分开。

于 2013-05-27T06:15:13.420 回答
0

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

于 2013-05-27T06:15:16.857 回答