Вставить PHP в HTML с помощью оператора ":" - PullRequest
1 голос
/ 11 октября 2010

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

<?php
foreach($allOGroups as $ogroup):
if($lastGroup != $ogroup['group']):
if($lastGroup !== null):
?>

</optgroup>

<?php
endif;
?>

Я уже некоторое время гуглю, но не могу найти учебник по использованию этого загадочного оператора ":". Кто-нибудь может указать мне правильное направление?

Спасибо, МРБ

Ответы [ 4 ]

3 голосов
/ 11 октября 2010

Альтернативный синтаксис для управляющих структур :

if ($a == $b) {
    echo $a;
}

// is same as:
if ($a == $b):
    echo $a;
endif;

Этот синтаксис был введен для упрощения внедрения PHP в HTML.Сказав , какой блок закрыть, код становится более понятным.

2 голосов
/ 11 октября 2010

Как вы обнаружили, загадочный : - это просто альтернативный синтаксис открывающим и закрывающим фигурные скобки.Это наиболее эффективно, когда вы смешиваете PHP с HTML, поскольку с его помощью легче определить, закрываете ли вы структуру if, for, foreach или while.

0 голосов
/ 11 октября 2010

: это не оператор, это просто часть альтернативного синтаксиса для структур управления. Лично я бы этим не воспользовался. Нет смысла использовать стандартный синтаксис, и я думаю, что его немного сложнее читать.

0 голосов
/ 11 октября 2010

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

Кроме того, он не имеет ничего общего с встраиванием PHP или HTML.

...