Почему в верстке иногда используются альтернативный синтаксис управляющих структур php?

Почему в верстке иногда используются альтернативный синтаксис управляющих структур php? Например,
if (..):
    ....
endif;

Ведь обычный синтаксис, со скобками, удобнее:
if (..) {
    ....
}

То же самое и для других структур (foreach-endforeach и т.д.).
Также, скобки у обычного синтаксиса подсвечивают почти все редакторы, а для альтернативного нет.
Чем обусловлено использование альтернативного синтаксиса в верстке?
  • Вопрос задан
  • 1553 просмотра
Пригласить эксперта
Ответы на вопрос 4
tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT
ну потому что более читабельнее

<?php if ($test == 1): ?>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
<?php endif ?>


чем где, весь контент, надо через echo выводить, для этого либо такая конструкции, либо шаблонизаторы
<?php if ($test == 1) {
   echo "<div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>
   <div>some text</div>";
}

?>
Ответ написан
profesor08
@profesor08 Куратор тега PHP
Потому что код выглядит аккуратным и прекрасно работает автоматическое форматирование. endif, endfor, endforeach прекрасно указывают на то, какой блок был закрыт, а просто скобка порой неясна и надо листать код и смотреть.
Ответ написан
mashletov
@mashletov
Math.random()
Иногда? Лол. Так должно быть всегда. А вообще, лучше, юзать шаблонизаторы
Ответ написан
@spaceatmoon
Всё что не запрещено будет когда-то сделано. Плюс я подозреваю, что они не пользуются подсветкой синтаксиса, а многие из них ориентированы на скобки.

В компании это решается советом разработчиков и дописывается style guide. Не использовать к примеру тернарный оператор, goto, определение типов только через is_* и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы