Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-05-2009 12:12:09

wam_baloo
Nouveau membre
Date d'inscription: 28-04-2009
Messages: 8

Zend_Route personnalisé

Bonjour,

je viens d'arriver dans le monde de Zend, habitué depuis un moment à travailler avec Symfony où beaucoup de choses sont automatisées, j'avoue que je suis un peu perdu dans la documentation légère du ZF.

Je mets en place une application pour ma boite, avec des délais très serrés, du coup, je fais des recherches pour les problèmes rencontrés mais j'avoue que je n'ai pas le temps d'y passer des journées entières smile

Voici mon problème : j'ai créé une application avec une architecture modulaire comme suit :
application/
----modules/
--------module1/
------------controleur.php
------------vues/
--------module2/
------------controleur.php
------------vues/

Mon FrontController est configuré pour chercher les bons templates et tout et tout. Nous partons du principe qu'il n'y a qu'un seul contrôleur par module. Ce contrôleur porte le nom "controleur.php" et le nom de la classe de ce contrôleur est constitué comme suit : "Module1Controleur". Tout ceci fonctionne à merveille après quelques recherches.
Mon problème est qu'aujourd'hui, pour afficher une action d'un module, je dois taper une url du type : "http://monurldebase/module/controller/action". Hors mon module et mon contrôleur portent exactement le même nom, je voudrais pouvoir taper une URL du type : "http://monurldebase/module/action" et qu'il m'affiche automatiquement le même résultat.

J'ai potassé la partie sur les routeurs du bouquin ZF, ainsi que la doc en ligne et je n'ai pas trouvé de réponse vraiment concluante. Après quelques tests désespérés, je me tourne vers vous pour m'aiguiller vers une solution.

Merci d'avance !

Hors ligne

 

#2 19-05-2009 11:13:44

wam_baloo
Nouveau membre
Date d'inscription: 28-04-2009
Messages: 8

Re: Zend_Route personnalisé

up !

Hors ligne

 

#3 19-05-2009 16:16:07

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Zend_Route personnalisé

Question : quel est l'interet des modules si c'est pour avoir qu'un seul controller par module ?
Sinon je crois qu'il faut utiliser les routers.

Dernière modification par alien7 (19-05-2009 16:16:40)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#4 19-05-2009 16:29:54

wam_baloo
Nouveau membre
Date d'inscription: 28-04-2009
Messages: 8

Re: Zend_Route personnalisé

L'intérêt c'est de reprendre une structure un peu à la Symfony, étant donné qu'on a pas eu le choix du framework utilisé, on fait avec ! un controleur regroupant toutes les actions de ce dernier. Tout ceci fait partie des normes de développement de l'entreprise et comme tout le monde le sait, dans le milieu professionnel, on doit s'adapter aux normes imposées et non le contraire smile

Hors ligne

 

#5 19-05-2009 17:55:30

wam_baloo
Nouveau membre
Date d'inscription: 28-04-2009
Messages: 8

Re: Zend_Route personnalisé

Je sais qu'il faut utiliser les routeurs, c'est d'ailleurs sur cette base que j'ai fais quelques tests. J'avoue que je suis perdu dans toute cette documentation pas forcément très claire et complète.

Merci d'avance pour votre aide.

Hors ligne

 

#6 26-05-2009 18:00:22

DavidV
Membre
Date d'inscription: 19-05-2009
Messages: 19

Re: Zend_Route personnalisé

Je ne suis pas certain qu'on puisse faire ca avec des routes (hors routes statiques).
Il faudrait pouvoir faire un truc du genre

Code:

$route = new Zend_Controller_Router_Route(
    ':module/:action/*',
    array('controller' => ':module')
);
$router->addRoute('default', $route);

Mais je serai surpris que ça marche.

Par contre il doit être possible de modifier la requête avant le dispatch. dans le routeShutdown par exemple.

Ou si tu as peu de modules, grâce à des routes statiques.

Dernière modification par DavidV (26-05-2009 18:00:48)

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