Стандарты кодирования PSR очень четко представляют большинство их соглашений, включая самую первую запись в PSR-1:
PHP-код ДОЛЖЕН использовать длинный
<?php ?>
теги или короткое эхо<?= ?>
теги; он НЕ ДОЛЖЕН использовать другие варианты тегов.
но то, что не ясно и недавно было подвергнуто сомнению в нашей команде, касается расстояния, особенно для ярлыков с коротким эхо. Мы бы обычно видели <?php
открывающий тег в отдельной строке в верхней части файла или, если это встроенный оператор, он не сможет выполнить синтаксический анализ, если не будет пробела. Таким образом, правило здесь самоочевидно.
<?php
//tag followed by new line - fine
$obj = new Foo();
?>
<p>Hello <?php echo $obj->printBar(); ?> World</p>
//tag followed by space - fine
<p>Hello <?phpecho $obj->printBar(); ?> World</p>
//tag no space - Parse Error
Мой вопрос — как насчет меток короткого эха? <?= ?>
, с пробелом и без него после открывающего тега хорошо разбирается — но какой стандарт PSR соответствует?
<p>Hello <?= $obj->printBar(); ?> World</p>
//tag followed by space - parses okay
<p>Hello <?=$obj->printBar();?> World</p>
//tag no space - parses okay
Добавьте пространство для согласованности между короткими и длинными открытыми тегами PHP.
Других решений пока нет …