<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>CakePHP - Manual/Beginning/UnderstandingMVC</title>
<link>http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC</link>
<description>History/revisions of CakePHP/Manual/Beginning/UnderstandingMVC</description>
<language>en-us</language>
<item>
<title>2007-11-27 23:41:33</title>
<link>http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC/show?time=2007-11-27+23%3A41%3A33</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".manual.beginning.understandingmvc" href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC" class="">/Manual&amp;nbsp;/&amp;nbsp;Beginning&amp;nbsp;/&amp;nbsp;Understanding&amp;nbsp;MVC&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+23%3A41%3A33">2007-11-27 23:41:33&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC">2007-12-23 21:10:20&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Почему используется именно MVC? Потому что&amp;nbsp;это испытанный шаблон проектирования приложений, который делает ваше приложение модульным и&amp;nbsp;быстрым. Разделение приложения на&amp;nbsp;Модель, Контроллер и&amp;nbsp;Отображение делает его&amp;nbsp;&amp;laquo;легким на&amp;nbsp;подъем&amp;raquo;. Очень легко добавить какие-то новые возможности и&amp;nbsp;молниеносно изменить внешний вид&amp;nbsp;приложения. Модульность позволяет работать над&amp;nbsp;одним проектом сразу нескольким разработчикам. Так&amp;nbsp;же&amp;nbsp;ничто не&amp;nbsp;мешает внести изменения в&amp;nbsp;часть приложения без&amp;nbsp;какого-либо ущерба другой его&amp;nbsp;части.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Почему используется именно MVC? Потому что&amp;nbsp;это исптанный шаблон проектирования приложений, который делает ваше приложение модульным и&amp;nbsp;быстрым. Разделение приложения на&amp;nbsp;Модель, Контроллер и&amp;nbsp;Отображение делает его&amp;nbsp;&amp;laquo;легким на&amp;nbsp;подъем&amp;raquo;. Очень легко добавить какие-то новые возможности и&amp;nbsp;молниеносно изменить внешний вид&amp;nbsp;приложения. Модульность позволяет работать над&amp;nbsp;одним проектом сразу нескольким разработчикам. Так&amp;nbsp;же&amp;nbsp;ничто не&amp;nbsp;мешает внести изменения в&amp;nbsp;часть приложения без&amp;nbsp;какого-либо ущерба другой его&amp;nbsp;части.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-11-27 22:49:14</title>
<link>http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC/show?time=2007-11-27+22%3A49%3A14</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC" class="">/Manual&amp;nbsp;/&amp;nbsp;Beginning&amp;nbsp;/&amp;nbsp;Understanding&amp;nbsp;MVC&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+22%3A49%3A14">2007-11-27 22:49:14&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+23%3A41%3A33">2007-11-27 23:41:33&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">При&amp;nbsp;написании программы на&amp;nbsp;CakePHP принято следовать шаблону MVC&amp;nbsp;(Модель-Отображение-Контроллер). Программирование с&amp;nbsp;применением этой модели разделяет ваше приложение на&amp;nbsp;три основные части. Модель оперирует информацией Базы Данных, Отображение создает страницу с&amp;nbsp;информацией из&amp;nbsp;модели, а&amp;nbsp;Контроллер обрабатывает запросы, сделанные пользователями.&lt;br />
&lt;div style="float:center; text-align:center">&lt;span class="missingpage" title="404: //files?get=requests.png">file:requests.png&lt;/span>&lt;br />
Изображение 1: Основные запросы MVC&lt;/div>&lt;br />
Рисунок 1 демонстрирует каркас MVC&amp;nbsp;запроса в&amp;nbsp;Cake. Рассмотрим простейший пример. Предположим пользователь Иван нажал на&amp;nbsp;ссылку &amp;laquo;Купить пирог!&amp;raquo;, эта&amp;nbsp;ссылка ведет на&amp;nbsp;вашу страницу.&lt;br />
&lt;ol type="1">&lt;li> Иван нажимает на&amp;nbsp;ссылку &lt;a href="http://www.example.com/cakes/buy" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />http://www.example.com/cakes/buy&lt;/a>, и&amp;nbsp;его браузер делает запрос к&amp;nbsp;вашему веб-серверу.
&lt;/li>&lt;li> Диспетчер проверяет запрошенный адрес (/cakes/buy) и&amp;nbsp;запускает необходимый Контроллер.
&lt;/li>&lt;li> Контроллер обрабатывает свою логику, например он&amp;nbsp;проверяет вошел ли&amp;nbsp;Иван в&amp;nbsp;систему (залогинился ли&amp;nbsp;он на&amp;nbsp;сайте).
&lt;/li>&lt;li> Контроллер также взаимодействует с&amp;nbsp;Моделями для&amp;nbsp;обмена информацией. Как&amp;nbsp;правило, Модели &amp;mdash; это&amp;nbsp;таблицы базы данных, но&amp;nbsp;также вполне могут быть &lt;a href="http://ru.wikipedia.org/wiki/LDAP" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />LDAP&lt;/a> записями, &lt;a href="http://ru.wikipedia.org/wiki/RSS" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />RSS&lt;/a>-лентами или&amp;nbsp;простыми файлами. В&amp;nbsp;данном случае Контроллер использует Модель для&amp;nbsp;того чтобы выбрать из&amp;nbsp;базы данных информацию о&amp;nbsp;последней покупке Ивана.
&lt;/li>&lt;li> После того как&amp;nbsp;Контроллер обработал данные &amp;mdash; он&amp;nbsp;передает их&amp;nbsp;в Отображение. Отображение принимает данные и&amp;nbsp;преобразует их&amp;nbsp;в готовые страницы для&amp;nbsp;отображения пользователям. Обычно результатом работы отображения является HTML документ, но&amp;nbsp;не трудно получить PDF, XML&amp;nbsp;документы или&amp;nbsp;объект JSON. Все&amp;nbsp;зависит от&amp;nbsp;ваших потребностей.
&lt;/li>&lt;li> Отображение использует информацию из&amp;nbsp;Контроллера для&amp;nbsp;того чтобы создать готовый документ для&amp;nbsp;пользователя. Иван видит в&amp;nbsp;браузере готовую страницу.&lt;/li>&lt;/ol>
Почти каждый запрос в&amp;nbsp;вашем веб-приложении проходит по&amp;nbsp;этой схеме. Некоторые подробности этого процесса мы&amp;nbsp;узнаем позже, а&amp;nbsp;пока запомните это.&lt;a name="h71-1">&lt;/a>&lt;h2>Преимущества&lt;/h2>
Почему используется именно MVC? Потому что&amp;nbsp;это исптанный шаблон проектирования приложений, который делает ваше приложение модульным и&amp;nbsp;быстрым. Разделение приложения на&amp;nbsp;Модель, Контроллер и&amp;nbsp;Отображение делает его&amp;nbsp;&amp;laquo;легким на&amp;nbsp;подъем&amp;raquo;. Очень легко добавить какие-то новые возможности и&amp;nbsp;молниеносно изменить внешний вид&amp;nbsp;приложения. Модульность позволяет работать над&amp;nbsp;одним проектом сразу нескольким разработчикам. Так&amp;nbsp;же&amp;nbsp;ничто не&amp;nbsp;мешает внести изменения в&amp;nbsp;часть приложения без&amp;nbsp;какого-либо ущерба другой его&amp;nbsp;части.&lt;br />
Если вы&amp;nbsp;никогда не&amp;nbsp;создавали приложения, пользуясь этой архитектурой, то&amp;nbsp;вам понадобится некоторое время чтобы привыкнуть, но&amp;nbsp;мы уверены, когда вы&amp;nbsp;создадите первый проект на&amp;nbsp;Cake, то&amp;nbsp;уже не&amp;nbsp;захотите возвращаться к&amp;nbsp;старым методам.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">При&amp;nbsp;написании программы на&amp;nbsp;&lt;a name="cakephp" href="http://cake-php.ru/wiki/CakePHP" class="">Cake&amp;nbsp;PHP&lt;/a> принято следовать шаблону MVC&amp;nbsp;(Модель-Отображение-Контроллер). Программирование с&amp;nbsp;применением этой модели разделяет ваше приложение на&amp;nbsp;три основные части. Модель оперирует информацией Базы Данных, Отображение создает страницу с&amp;nbsp;информацией из&amp;nbsp;модели, а&amp;nbsp;Контроллер обрабатывает запросы, сделанные пользователями.&lt;br />
&lt;div style="float:center; text-align:center">&lt;span class="missingpage" title="404: //files?get=requests.png">file:requests.png&lt;/span>&lt;/div>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-11-27 00:11:33</title>
<link>http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC/show?time=2007-11-27+00%3A11%3A33</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC" class="">/Manual&amp;nbsp;/&amp;nbsp;Beginning&amp;nbsp;/&amp;nbsp;Understanding&amp;nbsp;MVC&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+00%3A11%3A33">2007-11-27 00:11:33&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+22%3A49%3A14">2007-11-27 22:49:14&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;div style="float:center; text-align:center">&lt;span class="missingpage" title="404: //files?get=requests.png">file:requests.png&lt;/span>&lt;/div>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;strong>Тут будет картинка, когда вспомню, как&amp;nbsp;ее&amp;nbsp;вставить&lt;/strong>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-11-27 00:11:20</title>
<link>http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC/show?time=2007-11-27+00%3A11%3A20</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC" class="">/Manual&amp;nbsp;/&amp;nbsp;Beginning&amp;nbsp;/&amp;nbsp;Understanding&amp;nbsp;MVC&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+00%3A11%3A20">2007-11-27 00:11:20&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Beginning/UnderstandingMVC?time=2007-11-27+00%3A11%3A33">2007-11-27 00:11:33&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h71-1">&lt;/a>&lt;h1>Понимание архитектуры MVC&lt;/h1>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;a name="h71-1">&lt;/a>&lt;h1>Понимание архитектуры MVC&amp;nbsp;(Модель-Отображение-Контроллер)&lt;/h1>&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
