#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. Не то, чтобы шаблоны были идеальными.