Вопрос по if-statement, php – Фигурные скобки или операторы с двоеточием в PHP - что обеспечивает лучшую производительность и совместимость кода?

18

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

Способ 1:

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

Способ 2:

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

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

подбросить монету, свой личный выбор user557846
Я склонен использовать оба в моем коде, и это не доставляет мне проблем, так как я эффективно делаю отступ в своем коде, позволяя мне видеть деления в моем коде. The Thinker
Я считаю № 1 более удобным, поскольку он ближе к синтаксису JavaScript, и я обычно смешиваю 2. Gerard

Ваш Ответ

5   ответов
4

альтернативный синтаксис ничем не отличается от, возможно, более знакомого синтаксиса. Просто не смешивайте их. Аналогичный синтаксис существует дляwhile, for, foreach, а такжеswitch.

Как правило, вы должны выбрать предпочитаемый синтаксис, основанный на удобочитаемости и предпочтениях вашей команды.

Что действительно может вас бросить, так то, что вы начинаете видеть & quot; если заявления & quot; которые неправильно используют операторы логического соединения, такие как следующие:

isset( $value ) AND print( $value );
7

ей организации, чтобы определить, какой из них следует использовать.

Да, но мне кажется, что можно быть менее совместимым или менее быстрым. Очевидно, я могу ошибаться. think123
Если вы используете версию PHP, которая не поддерживает "альтернативу" Синтаксис тогда у вас естьbigger problems чем нужно конвертировать ваш код ...
0

компания использует фигурные скобки, а не endif, endelse ... так как мы работаем над очень большими проектами. Когда вы сравниваете размеры файлов, полезно использовать фигурные скобки. Меньшие файлы загружаются быстрее, поэтому мы работаем над тем, чтобы уменьшить каждый байт. Мы закомментируем конечную скобку, чтобы упростить идентификацию при тестировании, а затем удалили все комментарии для производства.

23

скриптах представления. Часто трудно увидеть / заметить конец оператора if, поскольку фигурная скобка занимает только один символ, когда вы находитесь в нижней части файла, трудно сказать, является ли это концом оператора. если или foreach. Например:

<?php if ($condition): ?>

    <div>a huge block of html</div>

<?php endif; ?>
Хотя я не собираюсь никого стучать за отсутствие полноценной IDE, безусловно, есть несколько редакторов, которые поддерживают свертывание кода (и идентификацию блоков), доступные бесплатно.
Если ваша функция настолько длинна, что вы не можете связать заключительную скобку с открывающей, то синтаксис скобок против alt - это наименьшая из ваших проблем.
0

в моем приложении нет разницы между ними, но у вас может быть много проблем, если вы смешаете их без правила, потому что возможно получить некоторые ошибки, и вы будете искать кудрявый, но вы не использовали кудрявый. Выберите один синтаксис, исключающий использование.

недостаточно для ответа. Хотя лучше для комментария

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