Они - то же, но второй является большим, если Вы имеете 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; ?>
Я думаю, что это - вопрос предпочтения. Я лично использую:
if($something){
$execute_something;
}
Оба - то же.
, Но: Если Вы хотите использовать PHP в качестве своего языка шаблонной обработки в Ваших файлах представления (V из MVC), можно использовать этот альтернативный синтаксис для различения код php, написанный для реализации бизнес-логики (Контроллер и Образцовые части MVC) и gui-логика. Конечно, это не обязательно, и можно использовать то, что когда-либо синтаксис Вы любите.
использование ZF тот подход.
Нет никакого технического различия между этими двумя синтаксисами. Альтернативный синтаксис не является новым; это поддерживалось по крайней мере еще PHP 4, и возможно еще ранее.
Вы могли бы предпочесть альтернативную форму, потому что она явно указывает, какая управляющая структура заканчивается: endwhile
, например, может только завершиться while
блок, тогда как при обнаружении с фигурной скобкой она могла бы закрывать что-либо.
Вы могли бы предпочесть традиционный синтаксис, тем не менее, при использовании редактора, который имеет специальную поддержку фигурных скобок в другом подобном синтаксису C. Vim, например, поддерживает несколько нажатий клавиш для навигации к соответствию фигурным скобкам и к запускам и концам разграниченных фигурной скобкой блоков. Альтернативный синтаксис повредил бы ту функцию редактора.
Я использовал бы первую опцию если вообще возможный, независимо от новой опции. Синтаксис является стандартным, и все знают это. Это также назад совместимо.
Вот то, где можно найти его в официальной документации: PHP: Альтернативный синтаксис для управляющих структур
Я лично действительно ненавижу альтернативный синтаксис. Одна хорошая вещь о фигурных скобках состоит в том, что большинство IDE, энергии, и т.д. у всех есть выделение скобки. В моем текстовом редакторе я могу дважды щелкнуть по фигурной скобке, и он выделит целый блок, таким образом, я буду видеть, где он заканчивается и начинается очень легко.
я не знаю о единственном редакторе, который может выделить endif, endforeach, и т.д.
В нашей компании предпочтительный путь к обработке HTML:
<? if($condition) { ?>
HTML content here
<? } else { ?>
Other HTML content here
<? } ?>
В конце, это действительно - вопрос выбора того и липкий с ним.
Думаю, этим все сказано:
этот альтернативный синтаксис превосходен для улучшения читаемости (как для PHP и HTML!) в ситуациях, когда вы есть их сочетание.
http://ca3.php.net/manual/en/control-structures.alternative-syntax.php
При смешивании HTML и PHP альтернативный sytnax намного легче читать. В обычных документах PHP следует использовать традиционный синтаксис.
Раньше я использовал фигурные скобки, но сейчас я предпочитаю использовать этот сокращенный альтернативный синтаксис из-за удобочитаемости и доступности кода.