4.1 Начало работы с Zend_Layout. Введение |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
При создании сайта с помощью MVC-компонент Zend Framework`a, как правило, ваши скрипты вида содержат в себе только часть HTML, которая отвечает за отображение результата требуемого действия. Например, если у вас есть действие "users/list", вы можете создать скрипт вида, который осуществляет перебор (итерацию) пользователей и представляет собой неупорядоченный список:
01. <h2>Пользователи</h2>
02. <ul>
03. <?php if (!count($this->users)): ?>
04. <li>Пользователи не найдены</li>
05. <?php else: ?>
06. <?php foreach ($this->users as $user): ?>
07. <li>
08. <?php echo $this->escape($user->fullname) ?>
09. (<?php echo $this->escape($user->email) ?>)
10. </li>
11. <?php endforeach ?>
12. <?php endif ?>
13. </ul>
Так как это всего лишь фрагмент HTML-страницы, то он не является валидным. Тут отсутствуют указание DOCTYPE, открытие тегов HTML и BODY. Возникает вопрос, где они будут созданы?
В ранних версиях Zend Framework`a, разработчики часто создавали скрипты "шапка" и "подвал", которые затем вызывались в каждом скрипте вида, для ренедернига. Хотя эта методика работает, но в последствии её будет достаточно сложно преобразовывать (рефакторить), или на основе её создавать комлексное содержание (контент), включающее в себя вызов нескольких действий.
Паттерн проектирования "Двухэтапное представление" отвечает многим из поставленных задач. Согласно данного шаблона проектирования, в начале создается "приложение" вида, в которую после интегрируется "страница" вида, затем это все отображается клиенту. Страницу на вашем вэб-узле можно рассматривать как шаблон или макет, который имеет общие элементы, отображаемые на разных страницах.
Zend_Layout, в составе Zend Framewprk, реализует паттерн "Двухэтапного представления".
Original (English): Getting Started with Zend_Layout. Introduction
Translation: © S.Voytovich, antdmi .
