Альтернативный синтаксис PHP для файлов представлений
Если вы не используете движок шаблонов CodeIgniter, вы будете использовать чистый PHP в своих файлах представлений. Для минимизации кода PHP в этих файлах и для облегчения идентификации блоков кода рекомендуется использовать альтернативный синтаксис PHP для управляющих конструкций и кратких операторов вывода. Если вы с этим синтаксисом не знакомы, он позволяет вам исключить фигурные скобки из кода и устранить операторы «echo».
Автоматическая поддержка коротких тегов
Примечание
Если вы обнаружите, что синтаксис, описанный на этой странице, не работает на вашем сервере, возможно, в файле php.ini вашего сервера отключены «короткие теги». CodeIgniter может выборочно переписать короткие теги на лету, позволяя вам использовать этот синтаксис, даже если ваш сервер его не поддерживает. Эта функция может быть включена в файле config/config.php.
Обратите внимание, что если вы используете эту функцию, при возникновении ошибок PHP в ваших файлах представления сообщение об ошибке и номер строки не будут отображаться точно. Вместо этого все ошибки будут отображаться как eval() ошибки.
Альтернативные выводы
Обычно для вывода или печати переменной вы делаете так:
<?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; ?>
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/general/alternative_php.html