2. MVC et Layouts
Bien que l’on puisse utiliser Zend Framework comme une simple bibliothèque de classes, ce dernier propose des moyens et outils pour construire sa propre architecture.
Pour cela Zend propose une structure très standard et très connue des développeurs, le design-pattern MVC (Modèle Vue Contrôleur).
Petit rappel sur le modèle MVC : il consiste à séparer les trois parties fondamentales d’une application finale.
La première regroupe les traitements et l’intégrité des données. Elle s’occupe généralement des interactions avec la base de données avec une couche d’abstraction que nous verrons dans un prochain tutoriel.
La vue n’est autre que la partie interface graphique de l’application, c’est l’interface avec l’utilisateur et elle ne doit exercer aucun traitement.
Le contrôleur est l’intermédiaire entre les 2 autres couches, il récupère les actions de d’utilisateurs et déclenche les traitements à effectuer.
Voici la couche Vue de notre application Zend de départ, on remarque qu’elle contient exclusivement le code HTML et le CSS ainsi que des variables qui ne servent qu’à afficher des données :

La couche contrôleur se comporte sous la forme d’une classe dérivée de Zend_Controller_Action, elle doit être nommé sous la forme NomController et il en est de même pour le fichier qui la contient. Dans notre IndexController, nous avons 2 méthodes par défaut : init() et indexAction(). La méthode init() est l’action à executer par défaut avant n’importe quelle autre action. On peut y mettre des traitements pour récupérer des variables en paramètres ou en session par exemple. La méthode IndexAction() est la méthode centrale du contrôleur, il s’agit de la page par défaut. Les vues du contrôleur doivent être regroupées dans un même répertoire et doivent porter le même nom que l’action avec l’extension *.phtml pour les templates.
Les urls fonctionnent de la façon suivante : racine/index.php/contrôleur/action
Maintenant que nous sommes à l’aise avec le contrôleur et la vue, nous allons mettre en place un template principal qui sera la base graphique de notre application : il s’agit d’un layout.
On commence d’abord à paramètrer notre application, pour cela on se rend dans le application.ini dans le répertoire configs :
On y définit le répertoire, où nous allons placer nos fichiers de mise en page, par convention on choisira le répertoire application/layouts/scripts.
En suite nous allons modifier le Bootstrap et surcharger la méthode _initDoctype() qui définiera le doctype de notre page Web.
Nous pouvons maintenant créer le layouts.phtml dans le répertoire /layours/scripts et y insérer les balises de contenue.
On pourra étendre ce layout à plusieurs fichiers comme un header, un footer, une sidebar par exemple.
C’est fini pour la structure MVC de Zend et la création de layouts, nous verrons dans le prochain tutoriel comment se comporte la couche modèle et les interactions avec la base de données et nous ferons notre première application CRUD (Create Read Update Delete).







about 5 months ago
Bonjour, je crois que vous avez fait une petite erreur dans l’acronyme CRUD :
- Create
- Read
- UPDATE (et non pas Upload)
- Delete
Autrement merci pour vos différents articles et notamment ceux sur ZendFramework.
about 5 months ago
Oui en effet, j’étais surement très fatigué le jour où j’ai écris l’article
Je vais le corriger.
Merci pour votre remarque et votre intérêt aux articles.