2010-02-12 18 views
4

Je suis en train de définir les routes comme ci-dessous avec un fichier INI pour le Zend Framework: http://api.example.com/servicename/ {version}/utilisateurs /: noms d'utilisateur/articles /: ItemidComment ecrire des chaines de chaines de ... de route dans un fichier ini pour le framework Zend?

routes.host.type = "Zend_Controller_Router_Route_Hostname" 
routes.host.route = "api.example.com" 

routes.host.chains.api.type = "Zend_Controller_Router_Route_Static" 
routes.host.chains.api.route = "servicename/v1" 
routes.host.chains.api.defaults.controller = "servicename-v1-api" 
routes.host.chains.api.defaults.action = "index" 

routes.host.chains.api.chains.users.chains.user.type = "Zend_Controller_Router_Static" 
routes.host.chains.api.chains.users.route = "users" 
routes.host.chains.api.chains.users.defaults.controller = "users" 
routes.host.chains.api.chains.users.defaults.action = "index" 

routes.host.chains.api.chains.users.chains.user.type = "Zend_Controller_Router_Route" 
routes.host.chains.api.chains.users.chains.user.route = ":id" 
routes.host.chains.api.chains.users.chains.user.defaults.controller = "user" 
routes.host.chains.api.chains.users.chains.user.defaults.action = "index" 
... 

L'itinéraire hôte api fonctionne très bien, mais quand J'essaie d'atteindre les autres voies, je reçois l'erreur « Aucun itinéraire correspondait à la demande »

le chains.something.chains.somethingelse semble maladroite il est donc probablement pas la bonne façon de le faire. N'importe qui?

Répondre

3

Je pense que j'ai trouvé comment le faire. Fondamentalement, vous définissez les parties de chaque route avec un ensemble abstrait à true et les liez toutes avec des routes dont le type est défini sur Zend_Controller_Router_Route_Chain. Quelque chose comme:

[...] 
routes.users.type = "Zend_Controller_Router_Route" 
routes.users.route = "users" 
routes.users.abstract = "1" 
routes.users.defaults.controller = "users" 
routes.users.defaults.action = "index" 

routes.host-api-users.type = "Zend_Controller_Router_Route_Chain" 
routes.host-api-users.chains = "host, api, users" 
+0

hey je n'obtiens aucune erreur définie par chaîne. –