| ||
auteur : arnoweb | ||
Dans mon controller, je récupère le nom du module, de l'action, du controller et je l'affecte à mes variables de vue pour pouvoir les afficher ou les tester :
|
| ||
auteur : Julien Pauli | ||
Le plugin ErrorHandler est fait pour vous : Zend_Controler_Plugin_ErrorHandler.
| ||
lien : Atelier ZF : Gestions des exceptions intégrées dans MVC : le plugin ErrorHandler, par Julien Pauli |
| |||
auteur : Janitrix | |||
Le Zend Framework intègre un système de routage, complémentaire au module mod_rewrite du serveur web Apache. Il est important de comprendre le fonctionnement du routage par défaut inclut dans le framework.
Le premier routage n'est pas dû au Zend Framework, mais au fichier htaccess. En effet, le fichier htaccess doit diriger la plupart des requêtes vers le fichier "bootstrap". Voici le fichier htaccess proposé par la documentation du Zend Framework :
Donc, cette première redirection mène les toutes les requêtes (autres que les fichiers images, CSS et Javascript) vers le fichier index.php, le fichier amorce de l'application.
Dans ce même fichier, le Zend Framework entre en jeu lorsque vous dispatchez l'action, à l'aide du code suivant :
Le "Front Controller" va, selon un ordre déterminé, chercher le contrôleur correspondant à la requête de l'utilisateur. Tout cela grâce aux "routes".
Par défaut, le Zend Framework définit plusieurs routes génériques. Voici quelques exemples de "routes" gérées par défaut (traduits de la documentation officielle) :
Ces quelques exemples nous montrent que le système de routage du Zend Framework est assez puissant par défaut. Cependant, il vous sera peut être nécessaire de créer un routage plus spécifique. Il est heureusement possible de configurer vos propres routes, à l'aide du routeur.
|
| ||
auteur : Janitrix | ||
Bien que la plupart du temps, on utilise des routes dites "dynamiques" (donc avec une partie du lien qui est variable), il se peut que vous ayez besoin de routes statiques. Par exemples, si votre contrôleur s'appelle ContactController, avec une action sendAction, par défaut, on accederait à cette action avec le lien z-f/contact/send, ce qui n'est pas forcément souhaitable. Vous préfereriez peut être y accéder avec un lien du type z-f/Nous-Contacter.
Dans ce genre de situation, on peut facilement créer une route personnalisée :
Ce code est relativement simple : on récupère le gestionnaire de routeur à partir de l'instance du Front Controller, puis, on créé un objet Zend_Controller_Router_Route_Static, qui représente une route statique. Le premier paramètre est le lien d'accès à cette route, donc concrètement, c'est ce paramètre qui représente la route "virtuelle" par laquelle le visiteur accédera à l'action. Le deuxième paramètre est un tableau d'options, comprennant le contrôleur et l'action cibles de cette route.
Enfin, on ajoute la route à la suite de celles existantes, en spécifiant un identifiant de route et l'objet route associé. Ce nom devrait être unique, mais le Zend Framework ne réalise aucune vérification. Si vous utilisez deux fois le même nom, la dernière entrée écrasera les précédentes. Il faut noter que les listes sont ajoutées dans une pile, par conséquent, la dernière ajoutée sera la première récupérée pour déterminer le contrôleur à utiliser.
|
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.