在这3个不同的php应用程序中是否存在任何显着差异

时间:2014-03-01 18:52:59

标签: php

我正在努力改进我的编程理论,并在之前的一个问题中向我指出,我不应该在我的编程中使用多行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>

谢谢......皮特

2 个答案:

答案 0 :(得分:0)

我更喜欢解决方案3有两个原因:

我的IDE(记事本++)实际上将语法突出显示HTML PHP,而不仅仅是将颜色标记为“字符串颜色”。我也不必在每次使用时都将'更改为\',而不必在HTML中转义{。}}。

答案 1 :(得分:0)

有显着差异。第一个特别难以维护。第二个好一点,但仍然不方便。

第三个允许您编写纯HTML而无需转义任何内容。您只需短暂打开PHP标记即可插入变量。如果你有一个像Netbeans甚至Notepad ++这样的智能编辑器,这个HTML也是属性语法突出显示的。

所以我会选择第三个,除非我插入一小段HTML。

如果我可以提出一个小改进:

 <?php echo $x; ?>

也可以写成

 <?= $x ?>

在表现方面,我认为不会有太大差异。我猜第三个更快,因为它需要解析并执行较小的PHP片段。在其他字符串中,还需要解析字符串以检查特殊字符。

那就是说,我怀疑你是否能够衡量任何差异,这不应该是你的担忧。选择你最喜欢的那个。为了优化,您最好找到真正的瓶颈,这些瓶颈通常在执行太多,太复杂或优化不佳的数据库查询的领域中找到。