Используется ли альтернативный синтаксис PHP для управляющих структур, совместимых с PSR? (при смешивании с HTML)
Я просмотрел веб-сайт PHP-Fig на предмет каких-либо PSR, связанных с альтернативным синтаксисом PHP для управляющих структур, но ничего не нашел об этом.
Альтернативный синтаксис, например, таков:
<?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; ?>
Так он просто не определен и, следовательно, его можно использовать, или он не соответствует требованиям, поскольку об этом не упоминается в разделах о стилях кодирования?
1 ответ
Согласно Разделу 5 PSR-12 (Структуры управления):
Тело каждой структуры ДОЛЖНО быть заключено в фигурные скобки. Это стандартизирует внешний вид структур и снижает вероятность внесения ошибок при добавлении новых строк в тело.
Это означает, что endif, endwhile, endfor, endforeach, endswitch не соответствуют PSR-12.
Было бы полезно, если бы PSR-12 указывал на это более подробно, так как это легко упустить из виду или неверно истолковать.