Альтернативный синтаксис 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; ?>

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

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов
13 + 0 =
Решите простой математический пример и введите результат. К примеру, для вопроса 1+3 нужно ввести 4

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

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