6.3 La View: Zend_View
Il componente che è responsabile della visualizzazione in XHTML delle informazioni conservate nella nostra applicazione
Zend_View è il componente responsabile della gestione della "vista" per l'implementazione del pattern MVC in ZF. Il Front Controller crea un'istanza di Zend_View attraverso la quale è possibile impostare tutte le variabile necessarie per gestire il flusso di dati generato dal model ed instradato dal controller: Zend_View riceve tale flusso e crea il codice XHTML per gestire la visualizzazione della risposta alla richiesta dell'utente.
Vediamo un esempio proseguendo con la visualizzazione di un articolo. Supponiamo che l'utente voglia leggere un articolo e che la richiesta giunta alla nostra web application sia della forma seguente: www.dominio.com/public/articolo/read/id/8284
Ormai siamo in grado di "leggere" questa richiesta: il controller articolo
richiama il metodo per gestire la action read
passando a quest'ultima il parametro id
per recuperare un determinato oggetto.
class ArticoloController extends Zend_Controller_Action {
[...]
/* il controller chiede al modello di recuperare i dati di un determinato articolo,
quello con id uguale al parametro passato, e successivamente assegna alla
vista l'oggetto ricevuto dal model */
public function readAction( $articleID ) {
[...]
$articoloModel = new Model_Articolo();
$articolo = $articoloModel->fetchArticoloItem( $articleID );
$this->view->articoloRecord = $articolo;
[...]
}
[...]
}
Come indicato nei commenti, il controller richiama il metodo read
passandogli il parametro id
dell'articolo richiesto: nel corpo del metodo viene creato un oggetto Model_Articolo
sul quale si richiama il metodo fetchArticoloItem( $articleID )
. Questo metodo restituisce un record, nelle specifico quello che corrisponde all'id passato come parametro.
La variabile $articolo
dunque conterrà il record che possiede l'id uguale al parametro: a questo punto non rimane che passare i dati alla vista, assegnando alla variabile $articoloRecord
, accessibile appunto nella view, il record recuperato.
Vedremo nelle lezioni successive un esempio completo di come comunicano la view, il controller e il model implementando un semplice sistema di login.