我正在努力改进我的编程理论,并在之前的一个问题中向我指出,我不应该在我的编程中使用多行ehcos,如第一个例子所示。我使用它是因为一旦它被编译它会自动最小化输出html。以下哪些例子是使用php的最佳实践?为什么?
1)
echo '<div class="row cf">';
echo '<div class="col_8 cf alpha">'.$page_title.'</div>';
echo '<div class="col_4 cf omega right">';
echo '<a href="'.$table_url.'-action.php?action=add" class="button blue">';
echo '<i class="icon-plus-sign"> </i> Add a Site</a>';
echo '</div>';
echo '</div><hr>';
2)
echo '
<div class="row cf">
<div class="col_8 cf alpha">'.$page_title.'</div>
<div class="col_4 cf omega right">
<a href="'.$table_url.'-action.php?action=add" class="button blue">
<i class="icon-plus-sign"> </i> Add a Site</a>
</div>
</div>
<hr>
';
第3)
<div class="row cf">
<div class="col_8 cf alpha"><?php echo $page_title; ?></div>
<div class="col_4 cf omega right">
<a href="<?php echo $table_url; ?>-action.php?action=add" class="button blue">
<i class="icon-plus-sign"> </i> Add a Site</a>
</div>
</div>
<hr>
谢谢......皮特
答案 0 :(得分:0)
我更喜欢解决方案3有两个原因:
我的IDE(记事本++)实际上将语法突出显示HTML 和 PHP,而不仅仅是将颜色标记为“字符串颜色”。我也不必在每次使用时都将'
更改为\'
,而不必在HTML中转义{。}}。
答案 1 :(得分:0)
有显着差异。第一个特别难以维护。第二个好一点,但仍然不方便。
第三个允许您编写纯HTML而无需转义任何内容。您只需短暂打开PHP标记即可插入变量。如果你有一个像Netbeans甚至Notepad ++这样的智能编辑器,这个HTML也是属性语法突出显示的。
所以我会选择第三个,除非我插入一小段HTML。
如果我可以提出一个小改进:
<?php echo $x; ?>
也可以写成
<?= $x ?>
在表现方面,我认为不会有太大差异。我猜第三个更快,因为它需要解析并执行较小的PHP片段。在其他字符串中,还需要解析字符串以检查特殊字符。
那就是说,我怀疑你是否能够衡量任何差异,这不应该是你的担忧。选择你最喜欢的那个。为了优化,您最好找到真正的瓶颈,这些瓶颈通常在执行太多,太复杂或优化不佳的数据库查询的领域中找到。