Альтернативный Синтаксис PHP для просмотра файлов

Если вы не используете шаблонизатор (движок шаблонов) CodeIgniter, то вам придется пользоваться чистым PHP в файле Видов. Чтобы свести к минимуму присутствие PHP кода в этих файлах и упростить идентификацию блоков кода, рекомендуется использовать альтернативный синтаксис PHP для управляющих структур и инструкций короткого тэга "echo". Если вы не знакомы с этим синтаксисом - это позволяет исключить скобки из кода и устранить “echo” оператор.

Автоматическая поддержка коротких тэгов

Примечание

Если вы обнаружите, что синтаксис описаный в этом разделе не работает на вашем сервере, это может означать что “короткие тэги (short tags)” отключены в PHP ini файле. CodeIgniter будет при необходимости переписывать короткие тэги "на лету", позволяя использовать этот синтаксис даже если ваш сервер не поддерживает этого. Это свойство может быть активировано в config/config.php файле.

Пожалуйста, обратите внимание, если вы используете это свойство и ошибки PHP встречаются в вашем файле Вида, сообщение об ошибке и номер строки будут отображены неаккуратно. Взамен, все ошибки будут показаны как eval() ошибки.

Альтернативные Echo

Обычно для вывода или печати переменной вы делаете следующее:

<?php echo $variable; ?>

С альтернативныи синтаксисом это выглядит так:

<?=$variable?>

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

Управляющие структуры как: if, for, foreach и while могут быть переписаны в более простой формат. Вот пример использования foreach:

<ul>

<?php foreach ($todo as $item): ?>

        <li><?=$item?></li>

<?php endforeach; ?>

</ul>

Обратите внимание, тут нет скобок. Вместо этого, закрывающая скобка заменена на endforeach. Каждая управляющая структура из указанных выше имеет схожий синтаксис: endif, endfor, endforeach и endwhile

Также учтите что вместо использования запятой после каждой структуры (кроме последнего) используется ДВОЕТОЧИЕ. Это важно!

Вот еще один пример использования if/elseif/else. Обратите внимание на двоеточия:

<?php if ($username === 'sally'): ?>

        <h3>Hi Sally</h3>

<?php elseif ($username === 'joe'): ?>

        <h3>Hi Joe</h3>

<?php else: ?>

        <h3>Hi unknown user</h3>

<?php endif; ?>