Альтернативный синтаксис PHP

 

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

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

Если вы обнаружите, что синтаксис описанный в данной главе не работает на вашем сервере, возможно что короткие теги отключены в конфигурационном файле PHP. CodeIgniter может на лету преобразовывать короткие теги, позволяя использовать их даже если они отключены в конфигурации PHP на сервере. Эта функциональность может быть включена в файле config/config.php.


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

Альтернатива функции echo

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

  1. <?php echo $variable; ?>

Альтернативный синтаксис данного выражения:
  1. <?=$variable?>

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

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

  1. <ul>
  2.  
  3. <?php foreach($todo as $item): ?>
  4.  
  5. <li><?=$item?></li>
  6.  
  7. <?php endforeach; ?>
  8.  
  9. </ul>

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

Также обратите внимание на то, что в открывающей части управляющей конструкции используется двоеточие вместо точки с запятой. Вот еще один пример, с использованием if/elseif/else, обратите внимание на двоеточия:

  1. <?php if ($username == 'sally'): ?>
  2.  
  3. <h3>Hi Sally</h3>
  4.  
  5. <?php elseif ($username == 'joe'): ?>
  6.  
  7. <h3>Hi Joe</h3>
  8.  
  9. <?php else: ?>
  10.  
  11. <h3>Hi unknown user</h3>
  12.  
  13. <?php endif; ?>

Отправить комментарий

  • Allowed HTML tags: <em> <b> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <h2> <h3> <h4> <table> <tr> <td> <th>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов

Вход в систему

Последние комментарии