PHP的回声VS启闭标签(php echo vs open&close tag)

2019-07-05 19:50发布

只是为了澄清:该问题“回声VS打印”和“双引号VS单引号”是完全了解,这是另一件事:

是否有一个为什么会喜欢的任何方面的原因:

echo '<table>';   
foreach($lotsofrows as $row)
{
    echo '<tr><td>',$row['id'],'</td></tr>';   
}
echo '<table>';

过度:

<table><?php
       foreach($lotsofrows as $row)
       { ?>
           <tr>
              <td><?php echo $row['id']; ?></td>
           </tr><?php
       } ?>
</table>

要么一个执行/解析速度更快? 更优雅? (等等。)

我倾向于使用第二个选项,但我担心我可能会被忽视的东西明显/至关重要。

Answer 1:

第一个好处

  • 更容易阅读
  • ???

第二个好处

  • 所见即所得是可能的
  • HTML代码完成/标记匹配可能与一些集成开发环境
  • 没有逃脱头痛
  • 更容易为HTML较大的大块

如果我有一个给定的PHP程序大量的HTML(像一个MVC视图),那么我肯定要用到第二个方法。 但是我不同的格式 - 我严格依赖于PHP的界限,即标签般的性质,我让PHP部分看起来就像HTML标签,我可以

<table>
  <?php foreach($lotsofrows as $row) { ?>
  <tr>
    <td><?php echo $row['id']; ?></td>
  </tr>
  <?php } ?>
</table>


Answer 2:

我同意彼得·贝利。 然而,在视图中我使用的语句替代语法,并且更喜欢短标签(特别是呼应)。 所以,以上的例子,而不是阅读:

 <table> 
  <? foreach($lotsofrows as $row): ?>
  <tr>
    <td><?= $row['id']; ?></td>
  </tr>
  <? endforeach; ?>
 </table>

我相信这是Zend框架的首选标准。



Answer 3:

第一个是远在我看来更具可读性,然而,第二在技术上涉及的分析较少。 在这种情况下,任何速度上的优势将可能是轻微的,不剖析没什么意义。

过早的优化是所有罪恶的根源。 做什么让最简单的代码阅读和维护。 效率屈居可维护性。

看到http://en.wikipedia.org/wiki/Optimization_%28computer_science%29#When_to_optimize有关问题的一些好的建议



Answer 4:

这是非常可靠的,你写的是什么。 PHP可以作为编程语言,或以简单而强大的网络模板语言。 这两种用法非常,非常糟糕的做法的混合,将是可怕的长期支持。

所以第二风格与很多HTML标记和代码的小斑点,第一模板更可用 - 为“清晰的” PHP编程。



Answer 5:

最好的一个是一个模板引擎。

但是,我认为回声的方式更清洁,更可读的(至少在这种情况下 - 在评论中指出,这取决于),比打开和关闭到处标签(我不知道太多关于PHP内部说哪一个速度更快,虽然)。



Answer 6:

第一个是从视图编程角度更具可读性,但第二个允许你打开一些所见即所得的HTML编辑器文件并更改页面设计。

我倾向于第二种选项,因为它是很容易告诉你的设计师说,“页面的这一部分会那样做”,不是“这段代码这是否”



文章来源: php echo vs open&close tag
标签: php tags echo