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