| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="learning.quickstart.intro">
- <title>Введение в Zend Framework и MVC</title>
- <sect2 id="learning.quickstart.intro.zf">
- <title>Zend Framework</title>
- <para>
- Zend Framework это открытый, объектно ориентированый фреймворк для
- <acronym>PHP</acronym> 5. Zend Framework часто называют "библиотекой компонентов"
- потому что он имеет много слабо связаных компонентов, которые вы можете использовать,
- в большей или меньшей степени, независимо. ZendFramework также предоставляет расширенную
- реализацию паттерна Модель-Вид-Контроллер (Model-View-Controller -
- <acronym>MVC</acronym>), который можно использовать для создания базовой структуры
- вашего приложения. Полный список компонентов ZendFramowork, вместе с кратким описанием,
- можно найти в
- <ulink url="http://framework.zend.com/about/components">обзоре компонентов</ulink>.
- Этот QuickStart ознакомит вас с наиболее часто используемыми компонентами ZendFramework,
- включая <classname>Zend_Controller</classname>, <classname>Zend_Layout</classname>,
- <classname>Zend_Config</classname>, <classname>Zend_Db</classname>,
- <classname>Zend_Db_Table</classname>, <classname>Zend_Registry</classname>, а так же с
- несколькими помощниками вида(view helper).
- </para>
- <para>
- Используя эти компоненты, мы за считанные минуты создадим простое приложение - гостевую
- книгу на основе базы данных. Полный исходный код этого приложения находиться в архивах:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <ulink
- url="http://framework.zend.com/demos/ZendFrameworkQuickstart.zip">zip</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink
- url="http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz">tar.gz
- </ulink>
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="learning.quickstart.intro.mvc">
- <title>Модель-Вид-Контроллер (Model-View-Controller)</title>
- <para>
- Что же такое паттерн <acronym>MVC</acronym>, о котором все говорят, и почему он должен
- нас волновать? <acronym>MVC</acronym> - намного больше, чем просто трехбуквенный
- акроним(three-letter acronym - <acronym>TLA</acronym>), который вы могли бы время от
- времени упоминать, чтобы произвести впечатление. Он стал своего рода стандартом в
- проектировании современных веб-приложений, и на это есть веские основания - большая
- часть кода веб-приложений подпадает под одну из трех категорий: представление, бизнес
- логику или доступ к данным. Паттерн <acronym>MVC</acronym> хорошо моделирует разделение
- этих понятий. В результате, ваш код представления, бизнес логики и доступа к данным
- разделен и сгруппирован в разных частях вашего приложения. Многие разработчики считают
- такое четко определенное разделение необходимым для поддержания кода организованным,
- особенно при командной разработке.
- </para>
- <note>
- <title>Дополнительная информация</title>
- <para>
- Давайте разберем этот паттерн и посмотрим на его части:
- </para>
- <para>
- <inlinegraphic width="321" scale="100" align="center" valign="middle"
- fileref="figures/learning.quickstart.intro.mvc.png" format="PNG" />
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>Model</emphasis> - Модель, это часть приложения, которая
- определяет его основную функциональность как множество абстракций. В модели
- можно определить процедуры доступа к данным и бизнес логику.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>View</emphasis> - Вид определяет, какое представление имеет
- информация, передаваемая пользователю. Обычно, контроллеры передают данные
- виду для отображения их в каком-либо формате. Кроме того, вид часто получает
- данные от пользователя. Это та часть паттерна, в которой, вероятнее всего,
- находится <acronym>HTML</acronym> разметка вашего <acronym>MVC</acronym>
- приложения.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>Controller</emphasis> - Контроллеры связывают весь паттерн в
- единое целое. Они управляют моделями, на основе пользовательского ввода и
- других факторов решают какой из видов отобразить, передают виду
- необходимые данные, или полностью передают управление другому контроллеру.
- Большинство <acronym>MVC</acronym> экспертов рекомендуют <ulink
- url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">
- держать контроллеры как можно более "тонкими"</ulink> (Вынося логику в
- модель и используя абстрактные интерфейсы)
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Конечно, еще <ulink url="http://ootips.org/mvc-pattern.html">много может быть
- сказано</ulink> про этот важный паттерн, но этого должно хватить в качестве
- предпосылки для понимания гостевой книги, которую мы будем создавать.
- </para>
- </note>
- </sect2>
- </sect1>
|