Table of Contents : Il manuale

Descrizione

CakePHPsegue il design pattern software MVC. Programmare utilizzando il pattern MVC separa la tua applicazione in tre parti principali::

  1. Model che rappresenta i dati dell'applicazione
  2. View che fornisce la presentazione dei dati del modello
  3. Controller che gestisce ed indirizza le richieste fatte dal client.
Figure 1

Figura 1: Una semplice richiesta MVC

La Figura 1 mostra un esempio, in CakePHP, di una richiesta MVC di base. Per illustrarla, assumeremo che un client denominato "Ricardo" abbia giusto effettuato il click sul link "Compra subito una torta personalizzata!" dell'home page della vostra applicazione.

  • Riccardo clicca sul link che punta a http://www.example.com/cakes/buy, ed il suo browser invia una richiesta al vostro web server.
  • Il dispatcher controlla la URL di richiesta (/cakes/buy) e l'affida al corretto controller.
  • Il controller esegue la specifica logica dell'applicazione. Ad esempio controlla se Ricardo si sia effettivamente loggato.
  • Il controller, inoltre, utilizza i modelli per ottenere l'accesso ai dati dell'applicazione. I modelli rappesentano di solito tabelle di database, ma possono anche rappresentare entità LDAP , feed RSS, o file sul sistema. In questo esempio, il controller usa un modello per ritrovare gli ultimi acquisti effettuati da Ricardo sul database.
  • Una volta che il controller ha effettuato le proprie "magie" sui dati, li fornisce ad una vista. La vista riceve questi dati e diviene pronta a visualizzarli per il client. Le viste in CakePHP sono di solito in formato HTML, ma una vista potrebbe essere anche un documento PDF, un documento XML , o un oggetto JSON a seconda delle vostre necessità.
  • Una volta che la vista ha utilizzato i dati forniti dal controller per creare la presentazione, il contenuto della stessa è inviato al browser di Riccardo.

Quasi tutte le richieste della vostra applicazione possono seguire questo semplice patter. Aggiungeremo in seguito ulteriori dettagli su quali sono specifiche di CakePHP, perciò tenete questo bene a mente mentre procediamo.