现在我已经两次询问并得到答复,我应该尽可能将 PHP 与 HTML 代码分开。而不是使用:
<?php
echo "<p>The value of x is $valuex greater.</p>";
?>
我应该使用:
<p>The value of x is <?php echo $valuex; ?> greater.</p>
除了格式,我还应该知道什么不同吗?
你需要echo
在第二个,
<p>The value of x is <?php echo $valuex; ?> greater.</p>
或者简单地说,
<p>The value of x is <?=$valuex ?> greater.</p>
阅读: 分离 PHP 代码和 HTML 的最佳方法是什么?. 另请阅读从 HTML 中转义。
PHP 的独特之处之一是它既可以用作服务器端语言,也可以用作模板语言。理想情况下,您的代码将分为控制器和视图,其中您的控制器是纯PHP(没有任何 HTML),而您的视图主要是HTML(使用最少的 PHP)。当您编写控制器时,PHP 就像任何其他服务器端语言一样。但是当您编写视图时,PHP 变成了一种模板语言,在这种情况下,HTML 应该成为主导。
将两者分开的另一个好理由是语法高亮。在您的第一个示例中,大多数编辑器不会意识到字符串中的文本实际上是 HTML,因此他们不会知道应用语法突出显示。这意味着您的代码可能会比实际更难阅读,从而使后续开发人员的生活变得困难。
区别在于:
<?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>";
?>
在这里,您需要回显整个部分。
两种情况下的输出都是相同的。
第一个示例是 PHP 输出 HTML 代码第二个示例是其中包含 PHP 的 HTML 代码“理想”示例是这样的:
<p>The value of x is <?=$valuex?> greater.</p>
在第一个更改语法如
<?php
echo "<p>The value of x is ".$valuex." greater.</p>";
?>
并在第二个更改以回显类似的值
<p>The value of x is <?php echo $valuex; ?> greater.</p>
但是两个符号是相同的,并且工作相同
这样做的原因是坦率地说,您总是希望尽可能灵活。但是,将您的 php 与 html 混合意味着您的 php-core 与您的模板混合在一起,因此您将很难维护、更改和提供不同的模板/语言等。因此,请始终将其分开。
分离代码时,维护 HTML 和 PHP 代码要容易得多。