Альтернативный синтаксис PHP для файлов отображений
Если вы не используете шаблонизатор CodeIgniter — вы будете писать отображения на чистом PHP. Для уменьшения количества PHP кода и для быстрой идентификации блоков кода рекомендуется использовать альтернативный синтаксис PHP для управляющих структур и пользоваться короткой формой функции echo. Если вы не знакомы с этим синтаксисом, он позволяет устранить фигурные скобки и отказаться от использования echo.
Автоматическая поддержка коротких тегов
Замечание: Если вы обнаружите, что синтаксис описанный на этой странице не работает, то на вашем сервере отключена поддержка «коротких тегов» в файле настройки PHP php.ini. CodeIgniter может опционально искать короткие теги на-лету, позволяя вам использовать их независимо от поддержки на уровне сервера. Эта возможность может быть включена в вашем файле config/config.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; ?>