只是为了澄清:"echo vs print"和"双引号与单引号"这两个问题是完全可以理解的,这是另一回事:
有没有理由为什么人们会更喜欢:
echo '<table>';
foreach($lotsofrows as $row)
{
echo '<tr><td>',$row['id'],'</td></tr>';
}
echo '<table>';
Run Code Online (Sandbox Code Playgroud)
过度:
<table><?php
foreach($lotsofrows as $row)
{ ?>
<tr>
<td><?php echo $row['id']; ?></td>
</tr><?php
} ?>
</table>
Run Code Online (Sandbox Code Playgroud)
会更快地执行/解析吗?更优雅?(等等.)
我倾向于使用第二种选择,但我担心我可能会忽略一些明显/必要的东西.
第一个的好处
第二个的好处
如果我在给定的PHP例程中有很多HTML(比如MVC视图)那么我肯定会使用第二种方法.但我的格式不同 - 我严格依赖于PHP分界的标签性质,即我让PHP部分看起来像HTML标签一样
<table>
<?php foreach($lotsofrows as $row) { ?>
<tr>
<td><?php echo $row['id']; ?></td>
</tr>
<?php } ?>
</table>
Run Code Online (Sandbox Code Playgroud)
我同意Peter Bailey的观点.但是,在视图中,我使用语句的替代语法,更喜欢短标记(特别是对于回显).所以上面的例子将改为:
<table>
<? foreach($lotsofrows as $row): ?>
<tr>
<td><?= $row['id']; ?></td>
</tr>
<? endforeach; ?>
</table>
Run Code Online (Sandbox Code Playgroud)
我相信这是Zend Framework的首选标准.
在我看来,第一个更具可读性,然而,第二个在技术上涉及较少的解析.在这种情况下,任何速度优势都可能是次要的,如果没有剖析,它将毫无意义.
过早优化是万恶之源.做什么使代码最容易阅读和维护.效率在可维护性方面处于次要地位.
请参阅http://en.wikipedia.org/wiki/Optimization_%28computer_science%29#When_to_optimize以获得有关该主题的一些好建议
归档时间: |
|
查看次数: |
3382 次 |
最近记录: |