Я реализовал службу RESTful, расширив Zend_Rest_Controller.Сервис работает отлично.У меня есть только один контроллер, который на самом деле имеет поведение RESTful.Поэтому я добавил маршрут отдыха только для этого контроллера в начальной загрузке.
protected function _initRestRoute()
{
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$restRoute = new Zend_Rest_Route($frontController, array() , array('default' => array('MyserviceController')));
$frontController->getRouter()->addRoute('rest', $restRoute);
}
проблема начинается, когда я запускаю свое приложение zend portal.Ссылки в макете для контроллера индекса упускают параметр action при создании URL-адреса.Например, ссылка на макет индекса для домашней страницы действия в сетевом контроллере выглядит следующим образом:
$this->url(array('controller'=>'network','action'=>'homepage','module'=>'default'));
, это должно вернуть "localhost / projectname / public / network / homepage", вместо этого оно возвращает "localhost / projectname/ государственная / сеть».Это происходит только тогда, когда макет загружается контроллером по умолчанию, то есть IndexController.Проблема маршрутизации исчезает, если я удаляю Zend Rest Route из начальной загрузки.Пока я упоминаю, к какому контроллеру должен направляться запрос rest, проблема не должна быть правильной.Но это влияет на маршрутизацию контроллера по умолчанию.