何时、何地以及为什么我应该将 "alternative syntax" 用于控制结构?

When, where & why should I use the "alternative syntax" for Control Structures?

一个简单的 PHP if / else 条件如下所示:

if(true) {
  echo("Hello World!");
} else {
  echo("Goodbye World!");
}

"alternative syntax" 看起来像这样:

if(true):
  echo("Hello World!");
else:
  echo("Goodbye World!");
endif;

关于这个我有几个问题"alternative syntax":

  1. 什么时候 / 应该在什么情况下使用?
  2. 哪里 / 我应该在脚本的哪一部分使用它?
  3. 为什么我应该使用它/它有什么用途&使用它有什么好处吗?
  4. 为什么创建它,"alternative syntax" 是否具有 "original syntax" 没有的功能?

感谢您抽出宝贵时间提前提供帮助。

我通常只在混合HTML和PHP时使用它,所以为了争论,这里有一个例子来比较

<?php foreach( $vars as $var ): ?>
    <?php if($var):?>
      <p>Hello World!</p>
    <?php else:?>
      <p>Goodbye World!</p>
    <?php endif;?>
<?php endforeach; ?>


<?php foreach( $vars as $var ){ ?>
    <?php if($var){ ?>
      <p>Hello World!</p>
    <?php }else{ ?>
      <p>Goodbye World!</p>
    <?php } ?>
<?php } ?>

当然这很小,但是如果你将它扩展到大约 800 行,跟踪所有那些 } 具有 endif; endforeach 等的行会变得很棘手。给你当与所有 HTML 内容混合时,只是一种更好的匹配代码块的方法。

同样,我很少使用混合 HTML/PHP,如果您有更多行来混合两者,我建议您使用模板引擎。因为一旦你有十几个 endif; 就失去了它的意义。

但是,简而言之,我想我倾向于将其视为默认模板语法...