Различие, между если () {} и если (): endif;

Попробуйте выполнить

=ISNUMBER(SEARCH("Task",$A1))

Screenshot

151
задан Ambo100 4 January 2017 в 17:24
поделиться

10 ответов

Они - то же, но второй является большим, если Вы имеете MVC в своем коде и не хотите иметь много echos в Вашем коде. Например, в моем .phtml файлы (Платформа Зенда) я запишу что-то вроде этого:

<?php if($this->value): ?>
Hello
<?php elseif($this->asd): ?>
Your name is: <?= $this->name ?>
<?php else: ?>
You don't have a name.
<?php endif; ?>
169
ответ дан geoff 23 November 2019 в 22:14
поделиться

Я думаю, что это - вопрос предпочтения. Я лично использую:

if($something){
       $execute_something;
}
1
ответ дан Draemon 23 November 2019 в 22:14
поделиться

Оба - то же.

, Но: Если Вы хотите использовать PHP в качестве своего языка шаблонной обработки в Ваших файлах представления (V из MVC), можно использовать этот альтернативный синтаксис для различения код php, написанный для реализации бизнес-логики (Контроллер и Образцовые части MVC) и gui-логика. Конечно, это не обязательно, и можно использовать то, что когда-либо синтаксис Вы любите.

использование ZF тот подход.

5
ответ дан Itay Moav -Malimovka 23 November 2019 в 22:14
поделиться

Нет никакого технического различия между этими двумя синтаксисами. Альтернативный синтаксис не является новым; это поддерживалось по крайней мере еще PHP 4, и возможно еще ранее.

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

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

5
ответ дан Rob Kennedy 23 November 2019 в 22:14
поделиться

Я использовал бы первую опцию если вообще возможный, независимо от новой опции. Синтаксис является стандартным, и все знают это. Это также назад совместимо.

5
ответ дан Paulo 23 November 2019 в 22:14
поделиться

Вот то, где можно найти его в официальной документации: PHP: Альтернативный синтаксис для управляющих структур

11
ответ дан Jeremy Ruten 23 November 2019 в 22:14
поделиться

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

я не знаю о единственном редакторе, который может выделить endif, endforeach, и т.д.

67
ответ дан dprevite 23 November 2019 в 22:14
поделиться

В нашей компании предпочтительный путь к обработке HTML:

<? if($condition) { ?>
   HTML content here
<? } else { ?>
   Other HTML content here
<? } ?>

В конце, это действительно - вопрос выбора того и липкий с ним.

28
ответ дан alex 23 November 2019 в 22:14
поделиться

Думаю, этим все сказано:

этот альтернативный синтаксис превосходен для улучшения читаемости (как для PHP и HTML!) в ситуациях, когда вы есть их сочетание.

http://ca3.php.net/manual/en/control-structures.alternative-syntax.php

При смешивании HTML и PHP альтернативный sytnax намного легче читать. В обычных документах PHP следует использовать традиционный синтаксис.

45
ответ дан 23 November 2019 в 22:14
поделиться

Раньше я использовал фигурные скобки, но сейчас я предпочитаю использовать этот сокращенный альтернативный синтаксис из-за удобочитаемости и доступности кода.

2
ответ дан 23 November 2019 в 22:14
поделиться
Другие вопросы по тегам:

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