Что такое «структура управления ключевыми словами» в CakePHP?

#php #cakephp #coding-style

#php #cakephp #стиль кодирования

Вопрос:

На странице стандартов CakeBook, раздел просмотра файлов (ссылка), говорится:

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

 <?php
if ($isAdmin):
    echo '<p>You are the admin user.</p>';
endif;
?>
<p>The following is also acceptable:</p>
<?php if ($isAdmin): ?>
    <p>You are the admin user.</p>
<?php endif; ?>
  

Я знаю, что такое структуры управления, но что такое структура управления «ключевыми словами»?
Извините за этот вопрос новичка.

Ответ №1:

Взгляните на эту документацию:

http://www.php.net/manual/en/control-structures.alternative-syntax.php

Они в основном говорят, что вы не должны использовать:

 if(isAdmin()) {
     echo '<p>Hello, Admin</p>';
}
  

Для больших блоков условного HTML я предпочитаю использовать второй метод, который они показывают. Это намного проще для понимания, чем куча операторов echo.

Комментарии:

1. спасибо, а как насчет двоеточий вместо скобок? Какой из них вы предпочитаете?

2. Если вы используете альтернативный синтаксис, открывающие ключевые слова нуждаются в двоеточии, и вы не используете фигурные скобки. Двоеточие указывает интерпретатору PHP искать ключевое слово end* вместо обычных правил определения области видимости (фигурные скобки или однострочные).

3. Что касается того, что я предпочитаю… Если у меня будет случай, когда я собираюсь выводить большие блоки HTML, я буду использовать альтернативный синтаксис, поскольку он гораздо более удобочитаем, чем целая серия операторов echo. Как бы я ни любил CakePHP, я бы предпочел, чтобы они изначально использовали систему шаблонов, а не спагетти кода и HTML, которые использует PHP. Не то, чтобы шаблоны были идеальными.