2

我已经通过 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; ?>

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

4

1 回答 1

1

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

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

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

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

于 2021-07-15T19:03:47.423 回答