Table of Contents : Ръководството

Разбиране на Модел-Изглед-Контролер

Преглед

Добре написаните CakePHP приложения следват MVC (Модел-Изглед-Контролер) софтуерния шаблонен дизайн. MVC разделя вашето приложение на три основни части. Моделът представлява данните на приложението, изгледът представя презентацията на данните от модела, а контролерът се грижи за заявките от потребителите.

IMAGE

Фигура 1: Проста MVC Заявка

Фигура 1 показва пример на проста MVC заявка в CakePHP. Нека кажем, че потребител Рикардо тъкмо е кликнал върху хипервръзката "Buy A Custom Cake Now!" от началната страница на Вашето приложение.

  1. Рикардо кликва върху хипервръзката, която сочи към http://www.example.com/cakes/buy и неговият браузър прави заявка към уеб сървъра.
  2. Диспечерът проверява заявения URL (/cakes/buy) и подава заявката към съответния контролер.
  3. Контролерът изпълнява специфичната приложна логика. Например, може да провери дали Рикардо се е регистрирал.
  4. Контролерът също така използва моделът, за да получи достъп до данните на приложението. Най-често моделите са свързани с таблици от бази данни, но също така могат да представят LDAP записи, RSS или файлове. В нашия пример контролерът използва модел, за да извлече данни за последните поръчки на Рикардо.
  5. След като контролерът е свършил своята работа с даните, той ги предава на изгледа. Изгледът взема данните и ги подготвя за представяне на потребителя. Изгледите в CakePHP най-често идват в HTML формат, но също така могат да бъдат PDF, XML документ или JSON обект в зависимост от Вашите нужди.
  6. След като изгледът е използвал данните от контролера, за да създаде цялостен изглед, съдържанието от този изглед се праща обратно на браузъра на Рикардо.

Почти всички заявки към Вашето приложение ще следват този простичък шаблон. Ние ще добавим някой специфични за CakePHP детайли малко по-късно, така че се опитайте да запомните този основен цикъл, докато четете нататък.

Ползи

Защо да използваме MVC? Защото е изпробван и истински софтуерен шаблонен дизайн, който превръща Вашето приложение в лесно поддържащ се, модулярен, бързо разработен пакет. Създаването на приложни задачи в отделни модели, изгледи и контролери прави Вашето приложение много гъвкаво. Лесно се добавя нова функционалност или пък се префасонира старата. Модулярният и отделен дизайн позволява на разработчиците да работят едновременно без да си пречат един на друг.

Ако досега никога не сте създавали приложение по този начин, трябва да знаете, че отнема малко време за свикване, но сме сигурни, че след като веднъж сте създали първото си CakePHP приложение, няма да искате да използвате нищо друго.