Вот моя конкретная проблема. Я хочу сделать уровень API, который затем под этим вы можете выбрать, какой метод вы будете использовать. Например:
test.com / апи / отдых
test.com / апи / xmlprc
В настоящее время у меня есть сопоставление API для каталога модуля. Затем я настраиваю маршрут, чтобы сделать его маршрутом отдыха. test.com/api - это маршрут отдыха, но я бы предпочел, чтобы он был test.com/api/rest. Это позволило бы мне позже добавить другие.
В Bootstrap.php:
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route(
'api/:module/:controller/:id/*',
array('module' =>'default')
);
$ router-> addRoute ('api', $ route);
$ restRoute = new Zend_Rest_Route ($ front, array (), array (
'остальное'
));
$ router-> addRoute ('rest', $ restRoute);
return $ router;
В application.ini:
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
Я знаю, что это будет связано с маршрутами, но иногда я нахожу, что документация Zend Framework немного сложна для отслеживания.
Когда я захожу на test.com/rest/controller/, он работает так, как должен, но если я захожу на test.com/api/rest/, он говорит, что мой модуль - api, а контроллер - rest.