Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/BasicPrinciples/TypicalRequest ...

Стандартный запрос CakePHP


Мы рассмотрели основные составляющие CakePHP, давайте теперь посмотрим, как каждый ингредиент взаимодействует с системой чтобы выполнить самый базовый запрос. А рассматривать будем, продолжая простой пример, когда пользователь Иван нажимает на ссылку “Buy A Custom Cake Now!”, которая ведет на страницу, генерируемую CakePHP.


Типичный запрос Cake PHP (36 Кб)
Изображение 2: Типичный запрос CakePHP


  1. Иван нажал на ссылку http://www.example.com/cakes/buy, и его браузер делает запрос к серверу.
  2. Маршрутизатор (будем иногда так называть Роуты) разбивает адрес на части, выявляя Контроллер, действие и прочие элементы, которые могут повлиять на бизнес-логику.
  3. Используя Роут запрос браузера переадресуется к действию Контроллера (на самом деле это просто метод в классе Контроллера). В этом случае это метод buy() класса CakesController. Но до того как выполнить метод buy(), обязательно выполнится функция обратного вызова beforeFilter(), объявленная в этом классе.
  4. Контроллер воспользуется Моделью для получения данных (как правило из базы данных). В данном случае Модель используется для того, чтобы получить из базы данных информацию о последней покупке Ивана. Любые объявленные функции обратного вызова, Поведения и базы данных могут использоваться для выполнения этого запроса. Хотя в другом случае Модель может и не понадобиться, но CakePHP требует чтобы для каждого контроллера была объявлена Модель.
  5. После получения данных, они возвращаются в Контроллер. При этом выполняются функции обратного вызова Модели.
  6. Контроллер может использовать Компоненты для уточнения данных и выполнять другие операции (манипулировать сессиями, аутентификацией, или, например, отправлять сообщения по электронной почте).
  7. Когда Контроллер при помощи Модели и Компонентов выполнил все необходимые операции, он может передать полученные данные в Отображение при помощи функции set(). Функции обратного вызова применяются до отправки информации в Отображение. Выполняется логика Отображения, при этом могут использоваться Элементы и/или Помощники. По умолчанию результат отображения выводится в Разметке.
  8. При этом могут быть применены функции обратного вызова (afterFilter()). Полностью собранная страница отправляется в браузер Ивана.

<< Файловая структура | Соглашения >>


 
Комментарии

О-о-о-чень тяжело воспринимается! Сильно перегружено терминологией программиста. Ему, программеру, это читать не нужно, а начинающий мастер-самоучка уйдет отсюда навсегда так ничего полезного и не взяв...

193.37.156.226 (2009-02-03 21:06:39)
Наверное не стоит с этой статьи начинать изучение Сake PHP?. Для начала почитайте cake blog tutorial. Посмотрите классы модели и контроллера. Их свойства и методы. Тогда всё намного понятние. Тут нет ничего сложного и загруженного.
mm-90-189-84-93.dynamic.pppoe.mgts.by (2009-02-18 16:51:19)
Вполне доступно и интересно. Был уже небольшой опит с ZC. Новичкам действительно будет сложно что-либо понять, но как базовая теория для людей знакомых с фреймовиками – великолепная статья (коротко и ясно)!
smtp.ntu.edu.ua (2009-11-27 14:07:12)
Написано все лаконично и доступно, само собой, для тех, кто имел дело с другими фреймворками.
+5 авторам.
89.232.105.63 (2010-02-08 22:55:40)
Очень достойный перевод – автору 5+. Правда лично я бы заменил слово «метод» на слово «процедура» .. т.к. по сути никакой это не метод, а функция без возврата ;)
e179031119.adsl.alicedsl.de (2010-03-10 05:22:16)
О-о-о-чень тяжело воспринимается! Сильно перегружено терминологией программиста. Ему, программеру, это читать не нужно, а начинающий мастер-самоучка уйдет отсюда навсегда так ничего полезного и не взяв...

Вот уж точно! п.3 убил!
95.56.58.30 (2010-03-17 12:02:35)

есть ф-и и процедуры а метод это метод, это ф-я или процедура которая принадлежит классу...

Отображение вроде создано для отделения логики от представления... какая в нем может быть логика?) или перевод неправильный или mvc в кейке неочень, или я чтот не понимаю =\
deneb.mex.com.ua (2010-04-07 14:57:59)
MVC – это вообще штука слишком навороченная для простых смертных)) На Дельфи куда удобнее всё было...
wimax-client.yota.ru (2010-06-04 11:14:57)
Думаю пришло временя прекращать быдлокодить... и учиться умным вещам, которые упростят жизнь нам и юзверам...
89.208.126.9 (2010-06-15 04:01:25)
Добавить комментарий:

Один файл. [Показать файлы/форму]