Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voilà j'me lance avec Zend et je pige pas tout sur les routes.
J'arrive à faire tourné mes applis mais pour l'instant ça vole pas très haut au niveau des routes. J'ai un truc genre ':controller/:action'. Mais avec les paramètres, je suis largué
J'ai eu beau regarder la doc de Zend... je comprend pas tout
Es ce que quelqu'un pourrait refiler un lien ou un tuto ou alors quelques lignes de codes assez explicite...
Dernière modification par Mr.MoOx (04-04-2007 14:49:07)
Hors ligne
Voilà un code, j'explique en commentaires dedans :
Zend_Loader::loadClass('Zend_Controller_Front'); Zend_Loader::loadClass('Zend_Controller_Router_Rewrite'); // tu crées ton controlleur $controller = Zend_Controller_Front::getInstance(); // tu crées ton routeur $router = new Zend_Controller_Router_Rewrite(); // tu crées l'ensemble de tes routes // la première route (basic) indique que le premier paramètre (après ton baseUrl) // est le nom du controller, le 2e est le nom de l'action, les suivants sont val et val2. // tu fournis ensuite les valeurs par défaut. $router->addRoute( "basic", new Zend_Controller_Router_Route( ":controller/:action/:val/:val2", array( "controller"=>"index", "action"=>"index", "val"=>null, "val2"=>null) ) ); // la 2e route "service" indique que toutes les URL commençant par "service" utiliseront // le controlleur "serviceController" et l'action "jsonAction" (cf params par défaut) // cette route est prioritaire par rapport à la 1ère par ce qu'elle est définie après (un peu // comme dans des CSS). $router->addRoute( "service", new Zend_Controller_Router_Route( "service/:command/:val/:val2", array( "controller"=>"service", "action"=>"json", "commad"=>null, "val"=>null, "val2"=>null) ) ); // tu spécifie ton baseUrl $parsedUrl = parse_url(FRONT_URL); $controller->setBaseUrl($parsedUrl["path"]."/"); // tu dis que ton controlleur doit utiliser le routeur que tu as créé $controller->setRouter($router); // tu indiques où sont tes controlleurs $controller->setControllerDirectory('PHP-INF/controller'); // pour le débug au moins, fais remonter les exceptions $controller->throwExceptions(true);
Sinon tu as une explication (mais un peu allusive) dans http://www.kitpages.fr/zf_tutorial.html
A+,
Philippe
Hors ligne
Ok jusque là je comprend presque tout (j'ai déjà suivi ton tuto sur kitpages )
Le truc c'est les :command, :val et :val2 .... Tu les exploite comment dans dans le controller ?
Hors ligne
dans ton action tu récupère val en faisant :
$val = $this->_getParam("val");
Philippe
Hors ligne
oki... C'est simple mais fallait savoir (faut croire que j'ai mal lu les tutos) ...
Et bien merci de la rapidité d'action
Hors ligne
Pages: 1