对控制结构使用替代 PHP 语法是否符合 PSR 标准?(与 HTML 混合时)



我已经浏览了PHP-Fig网站,寻找与控制结构的替代PHP语法相关的任何PSR,但没有找到任何关于它的信息。

替代语法是这样的,例如:

<?php foreach ($arr as $foo) : ?>
<h1>block start</h1>
<?php if ($foo === 'test') : ?>
<a>Case1</a>
<?php elseif ($foo === 'test2') : ?>
<a>Case2</a>
<?php else : ?>
<a>CaseElse</a>
<?php endif; ?>
<h1>block end</h1>
<?php endforeach; ?>

那么它只是没有定义,因此可以使用,还是因为它不合规,因为在编码风格部分中没有提到它?

根据PSR-12(控制结构(第5节:

每个结构的主体必须用大括号括起来。这标准化了结构的外观,并降低了在向主体添加新线条时引入错误的可能性。

这意味着 endif、endwhile、endfor、endforeach、endswitch 不符合 PSR-12。

如果PSR-12对此更明确,将会有所帮助,因为很容易忽略或误解这一点。

最新更新