Et bien on continue sur notre lancé avec les vues ou View dans le Zend
Framework. Après les controller, maintenant les vues. La vue c’est
la partie qui va s’occuper d’afficher vos résultats, vos variables, votre code
html. Donc pour re-résumer les design pattern MVC :
- Le
controllerest appelé et exécuté - Le
controllercrée et exécute desmodels(des objets) - le
controllerpasse à lavueles variables dont la vue a besoin - la
vuemet en page ces variables et les donne aulayout
Il faut savoir que par défaut il faut respecter une certaine syntaxe pour les
nom de controller et de vue. Si notre controller s’appelle facture, il faudra que dans le dossier
script, il y est un dossier facture. Puis si notre action s’appelle ajouter, il faudra que dans le dossier
script/facture, il y est un
fichier ajouter.phtml. Dans ce
cas la, l’application exécutera la vues ajouter.phtml dans le dossier facture quand l’action ajouter du controller facture s’exécutera.
Tips : Comment faire une vues avec Zend Studio 7:
Enfin dans la vue, on aura pas besoin de mettre tout le code html de la page.
Le layout le fait deja. Donc on a juste besoin de mettre le code html
spécifique a cet action (l’action de ce controller).
Comment on fait pour récupérer nos variable du controller dans la vue?
et bien c’est vraiment pas compliqué : dans le controller il suffit de
faire :
/**
* FactureController
*
* @author
* @version
*/
class FactureController extends Zend_Controller_Action {
/**
* The default action - show the home page
*/
public function indexAction() {
// TODO Auto-generated FactureController::indexAction()
default action
}
public function ajouterAction(){
$this->view->VariableString = "une varible";
$this->view->VariableInt = 10;
$this->view->VariableArray =
array("n1"=>"a","n2"=>"b");
}
public function editerAction(){
}
public function supprimerAction(){
}
}
Donc on passe une variable du controller a la vue grâce a la syntaxe
suivante :
$this->view->Un_Nom_De_Varible
Ensuite on récupère les variables dans la vue grave à la syntaxe suivante :
$this->Un_Nom_De_Varible
Ex:
/**
* Default home page view
*
* @author
* @version
*/
$this->headTitle('Ajouter une facure');
$this->placeholder('title')->set('Ajouter une facture');
echo $this->VariableString;
echo '<br />';
echo $this->VariableInt;
echo '<br />';
echo print_r($this->VariableArray,true);
Voila. Il faut aussi savoir que les vues et les layouts sont étroitements
liés. Qu’on peut faire passer des variables et toutes sortes de choses entre la
vue et le layout.C’est le cas des placeholders que l’on peut voir au début
du fichier ajouter.phtml
Et il faut aussi savoir qu’on peut changer dans le controller la vue qu’on
veut appelé. C’est très pratique lorsqu’on a plein d’actions, mais qu’on a pas
besoin de vues différentes a chaque action.


