带有“:”的php语法,是否使用?

带有“:”的php语法,是否使用?,php,syntax,Php,Syntax,我喜欢用:和结尾的语法 if($var=='patate'): echo 'excellent'; else : ... endif; 我知道IDE在折叠代码时习惯了{}语法,但除此之外,还有什么理由不使用这种语法吗?不要使用它。这很难看,人们通常期望他们习惯的花括号语法。在同一个文件中混合使用PHP和HTML时,即使用PHP作为模板引擎时,这种情况最为常见,但无论如何,您不应该这样做,至少在同一个文件中也包含您的应用程序逻辑时不应该这样做 自动缩进脚本在正确缩进代码时也会遇到问题

我喜欢用:和结尾的语法

if($var=='patate'):
   echo 'excellent';
else :
   ...
endif;

我知道IDE在折叠代码时习惯了{}语法,但除此之外,还有什么理由不使用这种语法吗?

不要使用它。这很难看,人们通常期望他们习惯的花括号语法。在同一个文件中混合使用PHP和HTML时,即使用PHP作为模板引擎时,这种情况最为常见,但无论如何,您不应该这样做,至少在同一个文件中也包含您的应用程序逻辑时不应该这样做

自动缩进脚本在正确缩进代码时也会遇到问题,因为它们通常只知道一个大括号=多/少缩进一级


但是,如果您喜欢:如果您习惯于混合使用PHP和HTML块,则可以使用替代语法,而不是{看看python.:

<?php if ($something): ?>
<h2>blah blah blah</h2>
<?php endif; ?>

但是如果你使用的是一个像样的语法突出显示编辑器,那么使用它几乎没有任何意义,因为彩色化将为你提供关于什么是PHP和什么是HTML的所有上下文提示。而像VIM这样的编辑器让你在括号/大括号上弹跳,也否定了这种需要-你不能在“endif”上弹跳。

people反对使用替代语法是因为某些服务器配置可能不允许使用。如果您不控制您的服务器环境或需要与其他人共享代码,则最好避免使用替代语法。

以前曾问过这一问题,我会找到要链接的重复语法,但基本上这取决于首选语法ce,除了大多数项目的编码标准使用正确的{}语法外。短语法是为在HTML中嵌入大量PHP时在模板文件中使用而设计的。上的用户注释可能会让您有所了解。如果使用{},则更方便、更简短、更易读在上面的例子中,为什么有人仍然使用:?与旧代码库的兼容性,这是最有可能的。我同意只有{}应该用在任何新的东西中。对于应该从PHP中删除的东西,替换语法排名靠前,使用了magic_引号和register_globals,谢天谢地,5.4使用了magic引号和register globals。