1.3.1 Overzicht

Correct geschreven CakePHP applicaties volgen het MVC (Model-View-Controller) software ontwerp patroon. Programmeren met MVC scheidt uw applicatie in drie delen:

  1. De Model representeert de applicatie data
  2. De View maakt een presentatie van de model gegevens
  3. De Controller handelt de requests van gebruikers af.
Figure 1

Figuur 1: Een standaard MVC Request

Figuur 1 geeft een voorbeeld van een simpel MVC request in CakePHP. Ter illustratie, doen we alsof een gebruiker genaamd Ricardo heeft geklikt op de “Buy A Custom Cake Now!” link op de startpagina van uw applicatie.

  1. Ricardo klikt op de link die verwijst naar http://www.example.com/cakes/buy, en zijn browser maakt een request naar uw web server.
  2. De dispatcher controleert de request URL (/cakes/buy), een geeft de request door aan de juiste controller.
  3. De controller voert de applicatie specifieke logica uit. Bijvoorbeeld, controleert deze of Ricardo is ingelogd.
  4. Daarnaast gebruikt de controller een of meerdere modellen om toegang tot de applicatie data te krijgen. Meestal representeert een model een database tabel, maar dit zou net zo goed LDAP , RSS , of bestanden op het systeem kunnen zijn. In dit voorbeeld gebruikt de controller een model om Ricardo zijn laatste aankopen uit de database op te halen.
  5. Zodra de controller zijn trucje heeft gedaan met de data, wordt deze doorgegeven naar een view. De view pakt deze data op en maakt deze klaar voor presentatie aan de gebruiker. Views in CakePHP zijn meestal in HTML format, maar dit zou evengoed een PDF, XML document of een JSON object kunnen zijn, afhankelijk van uw wensen.
  6. Als de view de data van de controller heeft gebruikt om een volledige view op te bouwen, wordt de inhoud van die view teruggestuurd naar Ricardo’s browser.

Bijna elke request naar uw applicatie volgt dit basispatroon. We zullen later nog wat meer Cake-specifieke details geven, dus houdt dit in gedachten terwijl we verdergaan