Кудрявые фигурные скобки или заявления о двоеточии endif в PHP - какой из них обеспечивает лучшую производительность и совместимость с кодом? - программирование
Подтвердить что ты не робот

Кудрявые фигурные скобки или заявления о двоеточии endif в PHP - какой из них обеспечивает лучшую производительность и совместимость с кодом?

Я просматривал множество фрагментов кода, и я обнаружил, что люди могут использовать следующие два метода в инструкции if:

Способ 1:

<?php
  if ($condition) {
    // Do this
  }
?>

Способ 2:

<?php
  if ($condition):
    // Do this
  endif;
?>

Итак, какой метод более совместим с компиляторами PHP и версиями с PHP, или нет различимого различия между ними?

4b9b3361

Ответ 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... поскольку мы работаем над очень крупными проектами. Когда вы сравниваете размеры файлов, есть преимущество в использовании брекетов. Меньшие файлы загружаются быстрее, поэтому мы сокращаем каждый байт. Мы комментируем конечную скобку, чтобы упростить идентификацию при тестировании, а затем удалить все комментарии для производства.