Core
Nella sezione core si inseriscono tutti quei componenti generici che non rientrano in nessuna delle altre categorie. Il componente che si occupa della generazione dei file in formato PDF, quello che gestisce l'invio di email e quello che gestisce il caching rientrano, ad esempio, in questo gruppo.
Zend_Pdf è il componente che ha il compito di generare dinamicamente i documenti in formato PDF: esso fornisce tutti gli strumenti necessari per controllare la posizione degli elementi che compongono la pagina.
Zend_Mail è invece il componente per la gestione della posta elettronica, sia in formato testuale che HTML (HyperText Markup Language). Zend_Mail permette di inviare email sia attraverso il protocollo SMTP sia attraverso la funzione mail()
nativa di PHP: ma non finisce qui. A testimonianza della grande flessibilità e cura con cui ogni componente è stato progettato, Zend_Mail permette di aggiungere facilmente metodi di trasporto alternativi, implementando l'interfaccia Zend_Mail_Trasport_Interface.
Gli utenti non sono disposti ad aspettare per le informazioni richieste, per questo il nostro prodotto deve poter garantire tempi di risposta rapidi e precisi. Zend_Cache è il componente che ci viene in aiuto in questo tipo di situazioni: esso fornisce un'interfaccia generica per implementare un sistema di caching con diversi strumenti (come database, dischi, ecc. ). Questo approccio dimostra ancora una volta la grande flessibilità di ZF: possiamo partire implementando un piccolo sistema di caching che supporti le prime release del nostro applicativo, arrivando a sistemi più complessi solo quando si presenta una reale necessità.
MVC
Nella pratica vi sono due approcci per utilizzare Zend Framework:
- Utilizzare alcuni dei suoi componenti all'interno della nostra applicazione: questa è la strada da seguire se abbiamo già un progetto esistente in cui vogliamo integrare il framework.
- Sviluppare un'applicazione dall'inizio alla fine con ZF utilizzando il sottosistema MVC (Model-View-Controller) del framework come struttura base della web application.
L'acronimo MVC sta per Model, View e Controller. Queste tre componenti dell'omonimo pattern rappresentano rispettivamente il modello dei dati (Model), il rendering del modello dei dati (la View) e la logica che accetta gli input e che manipola il Model e la View (il Controller):
- Model (data): il Model rappresenta i dati utilizzati dalla nostra applicazione;
- View (presentation): la View si occupa del rendering dei dati rappresentati dal modello. È il risultato finale della "fusione" tra le azioni specificate dal Controller e i dati rappresentati dal Model.
- Controller (business logic): il Controller si occupa di gestire tutti gli input e di manipolare sia le istanze dei Model che quelle delle View, curando le comunicazioni tra le due parti. Gestisce le azioni che l'utente può compiere sulla piattaforma per raggiungere il suo obiettivo: esso dunque rappresenta i verbi o gli eventi, come ad esempio "Crea", "Modifica", "Invia", ecc.
In questa categoria quindi rientrano tutti i componenti fondamentali per l'implementazione del pattern MVC: vedremo in dettaglio nella parte pratica di questa guida quali sono e come possono essere usati.