CakePHP - Manual/BasicPrinciples/TypicalRequest /wiki/Manual/BasicPrinciples/TypicalRequest History/revisions of CakePHP/Manual/BasicPrinciples/TypicalRequest en-us 2008-03-22 02:19:59 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2008-03-22+02%3A19%3A59 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a name=".manual.basicprinciples.typicalrequest" href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-03-22+02%3A19%3A59">2008-03-22 02:19:59</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest">2009-03-26 13:26:23</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><div class="indent"></div> <span class="missingpage">&lt;&lt; Файловая структура</span><a href="/wiki/FileStructure/edit?add=1" title="Создать эту страницу">?</a> | <span class="missingpage">Соглашения &gt;&gt;</span><a href="/wiki/Conventions/edit?add=1" title="Создать эту страницу">?</a></div></div> 2008-02-04 17:27:35 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2008-02-04+17%3A27%3A35 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-02-04+17%3A27%3A35">2008-02-04 17:27:35</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-03-22+02%3A19%3A59">2008-03-22 02:19:59</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><ol type="4"><li> Контроллер воспользуется Моделью для&nbsp;получения данных (как правило из&nbsp;базы данных). В&nbsp;данном случае Модель используется для&nbsp;того, чтобы получить из&nbsp;базы данных информацию о&nbsp;последней покупке Ивана. Любые объявленные функции обратного вызова, Поведения и&nbsp;базы данных могут использоваться для&nbsp;выполнения этого запроса. Хотя в&nbsp;другом случае Модель может и&nbsp;не понадобиться, но&nbsp;CakePHP требует чтобы для&nbsp;каждого контроллера была объявлена Модель.</li></ol></div><br /> <b>Удалено:</b><br /> <div class="deletions"><ol type="4"><li> Контроллер воспользуется Моделью для&nbsp;получения данных (как правило из&nbsp;базы данных). В&nbsp;данном случае модель используется для&nbsp;того чтобы получить из&nbsp;базы данных информацию о&nbsp;последней покупке Ивана. Любые объявленные функции обратного вызова, Поведения и&nbsp;базы данных могут использоваться для&nbsp;выполнения этого запроса. Хотя в&nbsp;другом случае Модель может и&nbsp;не понадобиться, но&nbsp;CakePHP требует чтобы для&nbsp;каждого контроллера была объявлена Модель.</li></ol></div></div> 2008-01-21 20:46:15 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2008-01-21+20%3A46%3A15 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-01-21+20%3A46%3A15">2008-01-21 20:46:15</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-02-04+17%3A27%3A35">2008-02-04 17:27:35</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Мы&nbsp;рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как&nbsp;каждый ингредиент взаимодействует с&nbsp;системой чтобы выполнить самый базовый запрос. А&nbsp;рассматривать будем, продолжая простой пример, когда пользователь Иван нажимает на&nbsp;ссылку &#147;Buy A&nbsp;Custom Cake Now!&#148;, которая ведет на&nbsp;страницу, генерируемую CakePHP.</div><br /> <b>Удалено:</b><br /> <div class="deletions">Мы&nbsp;рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как&nbsp;каждый ингридиент взаимодействует с&nbsp;ситемой чтобы выполнить самый базовый запрос. А&nbsp;рассматривать будем, продолжая простой пример, когда пользователь Иван нажимает на&nbsp;ссылку &#147;Buy A&nbsp;Custom Cake Now!&#148;, которая ведет на&nbsp;страницу, генерируемую CakePHP.</div></div> 2008-01-10 14:18:03 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2008-01-10+14%3A18%3A03 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-01-10+14%3A18%3A03">2008-01-10 14:18:03</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-01-21+20%3A46%3A15">2008-01-21 20:46:15</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><ol type="7"><li> Когда Контроллер при&nbsp;помощи Модели и&nbsp;Компонентов выполнил все&nbsp;необходимые операции, он&nbsp;может передать полученные данные в&nbsp;Отображение при&nbsp;помощи функции <tt>set()</tt>. Функции обратного вызова применяются до&nbsp;отправки информации в&nbsp;Отображение. Выполняется логика Отображения, при&nbsp;этом могут использоваться Элементы и/или Помощники. По&nbsp;умолчанию результат отображения выводится в&nbsp;Разметке.</li></ol></div><br /> <b>Удалено:</b><br /> <div class="deletions"><ol type="7"><li> Когда Контроллер при&nbsp;помощи Модели и&nbsp;Компонентов выполнил все&nbsp;необходимые операции, он&nbsp;может передать полученные данные в&nbsp;Отображение при&nbsp;момощи функции <tt>set()</tt>. Функции обратного вызова применяются до&nbsp;отправки информации в&nbsp;Отображение. Выполняется логика Отображения, при&nbsp;этом могут использоваться Элементы и/или Помощники. По&nbsp;умолчанию результат отображения выводится в&nbsp;Разметке.</li></ol></div></div> 2007-12-01 12:14:22 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2007-12-01+12%3A14%3A22 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+12%3A14%3A22">2007-12-01 12:14:22</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2008-01-10+14%3A18%3A03">2008-01-10 14:18:03</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><ol type="2"><li> Маршрутизатор (будем иногда так&nbsp;называть <a name=".manual.developing.configuration" href="/wiki/Manual/Developing/Configuration#h85-13" class="" title="Manual&nbsp;/&nbsp;Developing&nbsp;/&nbsp;Configuration">Роуты</a>) разбивает адрес на&nbsp;части, выявляя Контроллер, действие и&nbsp;прочие элементы, которые могут повлиять на&nbsp;бизнес-логику. </li><li> Используя Роут запрос браузера переадресуется к&nbsp;действию Контроллера (на самом деле это&nbsp;просто метод в&nbsp;классе Контроллера). В&nbsp;этом случае это&nbsp;метод <tt>buy()</tt> класса <tt>CakesController</tt>. Но&nbsp;до того как&nbsp;выполнить метод <tt>buy()</tt>, обязательно выполнится функция обратного вызова <tt>beforeFilter()</tt>, объявленная в&nbsp;этом классе.</li></ol></div><br /> <b>Удалено:</b><br /> <div class="deletions"><ol type="2"><li> Маршрутизатор (так мы&nbsp;иногда будем называть названные изначально Роуты) разбивает адрес на&nbsp;части, выявляя Контроллер, действие и&nbsp;прочие элементы, которые могут повлиять на&nbsp;бизнес-логику. </li><li> Используя Роут запрос браузера переадресуется к&nbsp;действию Контроллера (на самом деле это&nbsp;просто метод в&nbsp;классе Контроллера). В&nbsp;этом случае это&nbsp;метод <tt>buy()</tt> класса <tt><span class="missingpage">Cakes&nbsp;Controller</span><a href="/wiki/CakesController/edit?add=1" title="Создать эту страницу">?</a></tt>. Но&nbsp;до того как&nbsp;выполнить метод <tt>buy()</tt>, обязательно выполнится функция обратного вызова <tt>beforeFilter()</tt>, объявленная в&nbsp;этом классе.</li></ol></div></div> 2007-12-01 12:13:30 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2007-12-01+12%3A13%3A30 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+12%3A13%3A30">2007-12-01 12:13:30</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+12%3A14%3A22">2007-12-01 12:14:22</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><ol type="7"><li> Когда Контроллер при&nbsp;помощи Модели и&nbsp;Компонентов выполнил все&nbsp;необходимые операции, он&nbsp;может передать полученные данные в&nbsp;Отображение при&nbsp;момощи функции <tt>set()</tt>. Функции обратного вызова применяются до&nbsp;отправки информации в&nbsp;Отображение. Выполняется логика Отображения, при&nbsp;этом могут использоваться Элементы и/или Помощники. По&nbsp;умолчанию результат отображения выводится в&nbsp;Разметке.</li></ol></div><br /> <b>Удалено:</b><br /> <div class="deletions"><ol type="7"><li> Когда Контроллер при&nbsp;помощи Модели и&nbsp;Компонентов выполнил все&nbsp;необходимые операции, он&nbsp;может передать полученные данные в&nbsp;Отображение при&nbsp;момощи функции <tt>set()</tt>. Функции обратного вызова применяются до&nbsp;отправки информации в&nbsp;Отображение. Выполняется логика Отображения, при&nbsp;этом могут использоваться Элементы и/или Помощники. По&nbsp;умолчанию результат отображения выводится в&nbsp;Разметке с&nbsp;названием #default#.</li></ol></div></div> 2007-12-01 11:51:07 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2007-12-01+11%3A51%3A07 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+11%3A51%3A07">2007-12-01 11:51:07</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+12%3A13%3A30">2007-12-01 12:13:30</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions"><ol type="1"><li> Иван нажал на&nbsp;ссылку <a href="http://www.example.com/cakes/buy" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink"><img src="/wiki_/themes/cake/icons/web.gif" alt="" border="0" />http://www.example.com/cakes/buy</a>, и&nbsp;его браузер делает запрос к&nbsp;серверу. </li><li> Используя Роут запрос браузера переадресуется к&nbsp;действию Контроллера (на самом деле это&nbsp;просто метод в&nbsp;классе Контроллера). В&nbsp;этом случае это&nbsp;метод <tt>buy()</tt> класса <tt><span class="missingpage">Cakes&nbsp;Controller</span><a href="/wiki/CakesController/edit?add=1" title="Создать эту страницу">?</a></tt>. Но&nbsp;до того как&nbsp;выполнить метод <tt>buy()</tt>, обязательно выполнится функция обратного вызова <tt>beforeFilter()</tt>, объявленная в&nbsp;этом классе. </li><li> Контроллер воспользуется Моделью для&nbsp;получения данных (как правило из&nbsp;базы данных). В&nbsp;данном случае модель используется для&nbsp;того чтобы получить из&nbsp;базы данных информацию о&nbsp;последней покупке Ивана. Любые объявленные функции обратного вызова, Поведения и&nbsp;базы данных могут использоваться для&nbsp;выполнения этого запроса. Хотя в&nbsp;другом случае Модель может и&nbsp;не понадобиться, но&nbsp;CakePHP требует чтобы для&nbsp;каждого контроллера была объявлена Модель. </li><li> После получения данных, они&nbsp;возвращаются в&nbsp;Контроллер. При&nbsp;этом выполняются функции обратного вызова Модели. </li><li> Контроллер может использовать Компоненты для&nbsp;уточнения данных и&nbsp;выполнять другие операции (манипулировать сессиями, аутентификацией, или, например, отправлять сообщения по&nbsp;электронной почте). </li><li> Когда Контроллер при&nbsp;помощи Модели и&nbsp;Компонентов выполнил все&nbsp;необходимые операции, он&nbsp;может передать полученные данные в&nbsp;Отображение при&nbsp;момощи функции <tt>set()</tt>. Функции обратного вызова применяются до&nbsp;отправки информации в&nbsp;Отображение. Выполняется логика Отображения, при&nbsp;этом могут использоваться Элементы и/или Помощники. По&nbsp;умолчанию результат отображения выводится в&nbsp;Разметке с&nbsp;названием #default#. </li><li> При&nbsp;этом могут быть применены функции обратного вызова (<tt>afterFilter()</tt>). Полностью собранная страница отправляется в&nbsp;браузер Ивана.</li></ol></div><br /> <b>Удалено:</b><br /> <div class="deletions"><ol type="1"><li> Иван надал на&nbsp;ссылку <a href="http://www.example.com/cakes/buy" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink"><img src="/wiki_/themes/cake/icons/web.gif" alt="" border="0" />http://www.example.com/cakes/buy</a>, и&nbsp;его браузер делает запрос к&nbsp;серверу.</li></ol> <strong>Продолжение будет :-)</strong></div></div> 2007-12-01 11:46:30 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2007-12-01+11%3A46%3A30 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+11%3A46%3A30">2007-12-01 11:46:30</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+11%3A51%3A07">2007-12-01 11:51:07</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Мы&nbsp;рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как&nbsp;каждый ингридиент взаимодействует с&nbsp;ситемой чтобы выполнить самый базовый запрос. А&nbsp;рассматривать будем, продолжая простой пример, когда пользователь Иван нажимает на&nbsp;ссылку &#147;Buy A&nbsp;Custom Cake Now!&#148;, которая ведет на&nbsp;страницу, генерируемую CakePHP.<br /> Изображение 2: Типичный запрос CakePHP%%</div><br /> <b>Удалено:</b><br /> <div class="deletions">Мы&nbsp;рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как&nbsp;каждый ингридиент взаимодействует с&nbsp;ситемой чтобы выполнить самый базовый запрос. А&nbsp;рассматривать будем, продолжая простой пример, когда пользователь Иван нажимает на&nbsp;ссылку &#147;Buy A&nbsp;Custom Cake Now!&#148;, которая ведет на&nbsp;страницу, генерируемую <span class="missingpage">Cake&nbsp;PHP</span><a href="/wiki/CakePHP/edit?add=1" title="Создать эту страницу">?</a>.<br /> Изображение 2: Типичный запрос <span class="missingpage">Cake&nbsp;PHP</span><a href="/wiki/CakePHP/edit?add=1" title="Создать эту страницу">?</a>%%</div></div> 2007-11-30 21:44:56 /wiki/Manual/BasicPrinciples/TypicalRequest/show?time=2007-11-30+21%3A44%3A56 <div class="pageBefore"><img src="/wiki_/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" /></div><div class="page"> <b>Сравнение версий <a href="/wiki/Manual/BasicPrinciples/TypicalRequest" class="">/Manual&nbsp;/&nbsp;Basic&nbsp;Principles&nbsp;/&nbsp;Typical&nbsp;Request</a> за <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-11-30+21%3A44%3A56">2007-11-30 21:44:56</a> и <a href="/wiki/Manual/BasicPrinciples/TypicalRequest?time=2007-12-01+11%3A46%3A30">2007-12-01 11:46:30</a></b><br /> <br /> <b>Добавлено:</b><br /> <div class="additions">Мы&nbsp;рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как&nbsp;каждый ингридиент взаимодействует с&nbsp;ситемой чтобы выполнить самый базовый запрос. А&nbsp;рассматривать будем, продолжая простой пример, когда пользователь Иван нажимает на&nbsp;ссылку &#147;Buy A&nbsp;Custom Cake Now!&#148;, которая ведет на&nbsp;страницу, генерируемую <span class="missingpage">Cake&nbsp;PHP</span><a href="/wiki/CakePHP/edit?add=1" title="Создать эту страницу">?</a>.<br /> <div style="float:center; text-align:center"><span class="missingpage" title="404: //files?get=requests.png">file:requests.png</span><br /> Изображение 2: Типичный запрос <span class="missingpage">Cake&nbsp;PHP</span><a href="/wiki/CakePHP/edit?add=1" title="Создать эту страницу">?</a></div><br /> <ul><li> Черный &mdash; обязательные элементы </li><li> Серый &mdash; не&nbsp;обязательные </li><li> Голубой &mdash; функции обратного вызова </li></ul><ol type="1"><li> Иван надал на&nbsp;ссылку <a href="http://www.example.com/cakes/buy" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink"><img src="/wiki_/themes/cake/icons/web.gif" alt="" border="0" />http://www.example.com/cakes/buy</a>, и&nbsp;его браузер делает запрос к&nbsp;серверу. </li><li> Маршрутизатор (так мы&nbsp;иногда будем называть названные изначально Роуты) разбивает адрес на&nbsp;части, выявляя Контроллер, действие и&nbsp;прочие элементы, которые могут повлиять на&nbsp;бизнес-логику.</li></ol> <strong>Продолжение будет :-)</strong></div><br /> <b>Удалено:</b><br /> <div class="deletions">Мы&nbsp;рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как&nbsp;каждый ингридиент взаимодействует с&nbsp;ситемой чтобы выполнить самый базовый запрос.</div></div>