Кудрявые фигурные скобки или заявления о двоеточии endif в PHP - какой из них обеспечивает лучшую производительность и совместимость с кодом?
Я просматривал множество фрагментов кода, и я обнаружил, что люди могут использовать следующие два метода в инструкции if
:
Способ 1:
<?php
if ($condition) {
// Do this
}
?>
Способ 2:
<?php
if ($condition):
// Do this
endif;
?>
Итак, какой метод более совместим с компиляторами PHP и версиями с PHP, или нет различимого различия между ними?
Ответы
Ответ 1
В большинстве случаев альтернативный (endif) синтаксис используется в сценариях просмотра. Часто бывает трудно увидеть/заметить конец инструкции if, поскольку фигурная скобка принимает только один символ, когда вы находитесь внизу файла, трудно сказать, закончится ли это if или foreach. Например:
<?php if ($condition): ?>
<div>a huge block of html</div>
<?php endif; ?>
Ответ 2
Они оба точно эквивалентны. Обратитесь к руководству по стилю организации, чтобы определить, что вы должны использовать.
Ответ 3
Этот альтернативный синтаксис ничем не отличается от, возможно, более привычного синтаксиса. Просто не смешивайте их. Подобный синтаксис существует для while
, for
, foreach
и switch
.
Обычно вы должны выбрать предпочтительный синтаксис, основанный на читабельности и предпочтениях ваших команд.
Что действительно может вас бросить, так это когда вы начинаете видеть "операторы if", которые неправильно используют логические операторы объединения, такие как:
isset( $value ) AND print( $value );
Ответ 4
Как я видел до сих пор, в моем приложении нет никакой разницы между ними, но у вас может быть много проблем, если вы будете смешивать их без правила, потому что можно получить некоторые ошибки, и вы будете искать кудрявый, но вы не использовали кудрявый.
Выберите один синтаксис для использования эксклюзивного.
Ответ 5
Единственное различие наблюдается в очень больших документах и проектах. Моя компания использует скобки, а не endif, endelse... поскольку мы работаем над очень крупными проектами. Когда вы сравниваете размеры файлов, есть преимущество в использовании брекетов. Меньшие файлы загружаются быстрее, поэтому мы сокращаем каждый байт. Мы комментируем конечную скобку, чтобы упростить идентификацию при тестировании, а затем удалить все комментарии для производства.