Navigation

Contactez-nous

Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81

Par Philippe Le Van (@plv) Dernière mise à jour : 20 May 2007

Pièges et astuces du ZendFramework

Introduction

Cette page indique quelques pièges rencontrés lors de l'utilisation du Zend Framework. N'hésitez pas à ajouter d'autres astuces en commentaires. Nous ajouterons les astuces les plus souvent rencontrées en coeur de page.

Ordre du routage

Supposons que l'on ait une URL qui vérifie deux routes déclarées au Zend Framework. Dans notre exemple, prenons l'URL http://localhost/kitProject/service/adminLogin :

Regardez le code ci-dessous : cette URL répond bien aux deux routes déclarées ($commandRoute et $basicRoute). Pour que le routage mène vers la $commandRoute, il faut ajouter $commandRoute en dernier dans les lignes $router->addRoute(...).

Ca n'est pas très intuitif, mais le rewriteRouter réoriente bien vers la dernière route déclarée au routeur qui satisfait le critère de recherche.

<?php
$controller = Zend_Controller_Front::getInstance();
$router = new Zend_Controller_RewriteRouter();
 
$basicRoute = new Zend_Controller_Router_Route(
    ":controller/:action/:val",
    array(
            "controller"=>"index",
            "action"=>"index",
            "val"=>null)
);
 
$commandRoute = new Zend_Controller_Router_Route(
    "service/:command/:val/:val2",
    array(
            "controller"=>"service",
            "action"=>"adminCommand",
            "command"=>null,
            "val"=>null,
            "val2"=>null)
);
 
$router->addRoute("basic",$basicRoute);
$router->addRoute("service",$commandRoute);
$controller->setRouter($router);
$router->setRewriteBase('/kitProject/');
$controller->setControllerDirectory('PHP-INF/controller');
?>

Commentaires

Ajouter un commentaire