2010-02-12 3 views
4

Я пытаюсь определить маршруты, как показано ниже с помощью файла INI для Zend Framework: http://api.example.com/servicename/ {версия}/пользователей /: USERID/пунктов /: ItemidКак написать цепочки цепочек ... маршрута в ini-файле для рамки 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" 
... 

маршрут хост-апи работает отлично, но когда Я стараюсь, чтобы добраться до других маршрутов, я получаю ошибку «нет маршрут соответствует запрос»

chains.something.chains.somethingelse кажется неуклюжим, так что, вероятно, не правильный способ сделать это. Кто угодно?

ответ

3

Я думаю, что нашел, как это сделать. В основном вы определяете части каждого маршрута с абстрактным набором в true и связываете их все с маршрутами, тип которых установлен в Zend_Controller_Router_Route_Chain. Что-то вроде:

[...] 
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

эй, я не получаю никакой определенной цепи ошибки. –