为什么有些php框架会选择if ():else: endif 来限制范围,而不是用{}

为什么有些php框架会选择

<?php 
    if():
    // some code
    endif;
?>

来限制范围,而不是用

<?php
    if(){
    //some code
    }
?>

//---- 补充提问 ----
两者是否会有性能上的差异?

看了几位同学的回答,清晰与否,自己感觉两者都蛮清晰的 ^_^

阅读 9.9k
5 个回答

一般第一种语法比较适合嵌套在HTML中。
比如

<?php if($value): ?>
<div>aaaaa</div>
<?php else: ?>
<div>bbbbb</div>
<?php endif; ?>

是不是比

<?php if($value){ ?>
<div>aaaaa</div>
<?php }else{ ?>
<div>bbbbb</div>
<?php } ?>

更加清晰!

两张写法表达的意思是一模一样的,只是看起来不同,第一种和楼上说的一样,当存在html代码的时候会显得语句特别清楚,第二种一般是在纯的php文件中写,逻辑感比较强吧.

    }
}
    endforeach;
endif;

代码比较长的情况下,看尾巴的时候比较清晰吧
不过就像另外的答案所说,嵌套在html这种场合下可读性更好一些

个人很讨厌这种写法:
<?php

if():
// some code
endif;

?>

你用

<?php
if ()
{
}
else
{
}
?>

一样可以啊,效果一样。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题