-3

非常简单的问题,需要一个非常简单的答案。

如果我有一些 PHP 文件需要输出大量带有变量的 html,是考虑更好地使用 echo/printf 还是结束 php 并重新启动它更好?

前任:

<?php
$varA = 'foo';
$varB = 'bar';
?>
<span><?php echo $foo; ?></span>
<div><?php echo 'content ' . $bar; ?></div>
<?php
//continue php here
?>

被认为比

<?php
$varA = 'foo';
$varB = 'bar';
printf('<span> . $foo . </span>');
printf('<div>content ' . $bar . '</div>');
//continue php here
?>

还是后者被认为“更好”,或者甚至被认为比另一个更好,时期!?

谢谢!

4

2 回答 2

3

echo/printf 都是一回事,看个人喜好了。但您可能要考虑使用heredoc 语法。恕我直言,比在 html 中添加 php 标签和 echo 语句更容易阅读。

echo <<<HTML
    <h1>$foo</h1>
    <p>$bar</p>
    <span>$fizz</span>
HTML;
于 2012-07-24T18:03:05.717 回答
2

这里的答案是相当主观的,所以我认为第一种方法更干净,更容易阅读,主要是因为如果你碰巧与一个试图进行一些关注点分离的团队合作,那么前面 -如果最终开发人员自己没有echo被 PHP 淘汰(他们甚至可能不了解PHP),那么最终开发人员将更容易发现 HTML 标签。如果 HTML 包含在 PHP 字符串中,大多数文本编辑器将不会为 HTML 提供漂亮的语法突出显示。

还可能需要注意的是,如果您在严格的 MVC 环境中工作,那么您的视图应该包含尽可能少的 PHP,并且实际上应该只是一堆echos。如果您愿意,我认为第一种方法有助于提供更多的 HTML 外观和感觉。

正如@hyphen-this 所说,heredoc 语法也是一种可接受的路线,并且不需要跳入和跳出 PHP 模式。

于 2012-07-24T18:05:27.167 回答