Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-04-2007 13:56:06

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

[Résolu][Zend_Controller][0.9.1] Demande d'explications sur les routes

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

 

#2 04-04-2007 14:36:34

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Résolu][Zend_Controller][0.9.1] Demande d'explications sur les routes

Voilà un code, j'explique en commentaires dedans :

Code:

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


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 04-04-2007 14:42:05

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Controller][0.9.1] Demande d'explications sur les routes

Ok jusque là je comprend presque tout (j'ai déjà suivi ton tuto sur kitpages wink )

Le truc c'est les :command, :val et :val2 .... Tu les exploite comment dans dans le controller ?

Hors ligne

 

#4 04-04-2007 14:46:13

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Résolu][Zend_Controller][0.9.1] Demande d'explications sur les routes

dans ton action tu récupère val en faisant :

Code:

$val = $this->_getParam("val");

Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 04-04-2007 14:48:45

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Controller][0.9.1] Demande d'explications sur les routes

oki... C'est simple mais fallait savoir (faut croire que j'ai mal lu les tutos) ... big_smile

Et bien merci de la rapidité d'action wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages