Альтернативный синтаксис PHP для отображений
Если вы не используете движок шаблонов, вы используете чистый PHP в отображениях. Чтобы минимизировать код PHP в этих файлах, и сделать его проще для идентификации блоков, когда рекомендуется. Этот синтаксис позволяет вам устранить фигурные скобки в коде, и устранить объявления "echo".
Автоматическая поддержка коротких тегов
Примечание: Если вы обнаружите, что синтаксис, описанный на этой странице, не работает на вашем сервере, возможно, что "короткие теги" отключены в вашем 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; ?>