我在想,如果有以下2语法的if语句之间的性能差异(同样,对于其他循环 - ,而对于,的foreach等):if-else语句的语法偏好
if(..) {...}
else {...}
和
if(..) : ...
else : ...
endif;
使用其中一种的优势?
我在想,如果有以下2语法的if语句之间的性能差异(同样,对于其他循环 - ,而对于,的foreach等):if-else语句的语法偏好
if(..) {...}
else {...}
和
if(..) : ...
else : ...
endif;
使用其中一种的优势?
您通常使用的意见(模板)的替代语法(if (condition):
endif;
),因为它更易于阅读HTML之中。例如:
<?php foreach ($items as $item): ?>
<article class="item">
<h1><?php echo $item->title; ?></h1>
</article>
<?php endforeach; ?>
比更易于阅读:
<?php foreach ($items as $item) { ?>
<article class="item">
<h1><?php echo $item->title; ?></h1>
</article>
<?php } ?>
尤其是当你添加更多的控制结构,如if
,for
等,如果您使用HTML花括号,它变得更难辨识哪个关闭花括号属于哪个开放大括号,而使用endif
的替代语法,您正在寻找一个开头if:
声明。
希望有所帮助。
从哪里可以学到这样的最佳实践,除了朋友/同事/讨论板,因为那些只是随机发生:) –
真的有各种各样的来源。只要继续练习,继续阅读文章等,没有快捷的方法。您可以成为网站开发人员十年,并且还有更多需要了解的内容。这是我们行业最好的事情。 –
无。
语法样式仅用于代码的可读性。 各种组织可能更喜欢各种风格,但没有性能影响。
就个人而言,我只用了if():
语法,如果我是混合PHP和HTML:
<div class="stuff">
<?php if($a === $b): ?>
<span>Hello</span>
<?php else: ?>
<input type="checkbox" />
<?php endif; ?>
</div>
我觉得看起来比使用if(){
更好,但在“正常”的PHP代码(不与HTML混合) ,我使用if(){
语法。
<?php
if($a === $b){
runThisCode();
}
else{
otherCode();
}
?>
不,没有性能差异只有语法。我个人首先使用核心逻辑,并在视图内使用第二个示例,或者当php与html进行交互或吐出html时。因为我发现在不添加\n
\t
的情况下更容易控制最终输出。
除了可读性以外没有任何优势。
后者更常用于视图中,因为它的可读性和标记一起使用。这是唯一的区别 –
我个人完全不关心PHP的性能。与大型SQL查询或客户端事物相比,使用APC缓存和PHP执行时间可以忽略不计。 只使用回声一次或尽可能少。继续在一个变量中连接,最后回显。 在编写php代码时,只关注保持以后轻松读取和修改。 – user1365013