Фреймворк CodeIgniter Version 2.1.3


Альтернативный синтаксис PHP для отображений

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

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

Примечание: Если вы обнаружите, что описанный синтаксис не работает на вашем сервере, это может происходить потому, что короткие теги выключены в ini-файле PHP. 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; ?>
    Поддержать сайт на родительском проекте КГБ