Zend : Comment faire une vue

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 :

  1. Le controller est appelé et exécuté
  2. Le controller crée et exécute des models (des objets)
  3. le controller passe à la vue les variables dont la vue a besoin
  4. la vue met en page ces variables et les donne au layout


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 :

Comment faire une vue avec Zend Studio

Comment faire une vue avec Zend Studio

Comment faire une vue avec Zend Studio

Comment faire une vue avec Zend Studio

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 :

<?php

/**
 * FactureController
 *
 * @author
 * @version
 */

require_once 'Zend/Controller/Action.php';

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 :

<?php

/**
 * 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.

Zend : vues

Zend : vues

La suite : Comment utiliser un model avec Zend framework

Articles en rapport :

1 Commentaire

Michaeljuillet 24th, 2009 at 23 h 41 min

Ah merci beaucoup

Laisser un commentaire

Votre commentaire :