Zend_Rest_Route для конкретного контроллера - PullRequest
1 голос
/ 02 июля 2011

Я пытаюсь сделать Zend_Rest_Route для конкретного контроллера. Я хочу, чтобы остальная часть моего сайта работала нормально, кроме случаев, когда запрашивается определенный контроллер (UploadAPI). Я думаю, что ситнакс должен быть следующим, но с трудом проверяющим. Все примеры имеют отношение к модулям, но у меня нет модуля. Это правильно?

protected function _initRestRoute() {
    $this->bootstrap('frontController');
    $frontController = Zend_Controller_Front::getInstance();
    $restRoute = new Zend_Rest_Route($frontController, array(), array('default' => array('UploadAPI'),));
     $frontController->getRouter()->addRoute('rest', $restRoute);
}

Ссылка здесь

http://weierophinney.net/matthew/archives/228-Building-RESTful-Services-with-Zend-Framework.html

приводит примеры с модулями, но у меня нет модулей, и я предполагаю, что "default" - это имя модуля.

1 Ответ

4 голосов
/ 02 августа 2011

Итак, у меня работает API, вот как это выглядит. Вы должны добавить эту функцию в класс Bootstrap для инициализации Zend_Rest_Route. Это сделает маршрутизацию Zend Rest API только для контроллеров, перечисленных в массиве, остальная часть сайта должна работать как положено

protected function _initRestRoute() {
  $this->bootstrap('frontController');
  $frontController = Zend_Controller_Front::getInstance();
  $restRouteUL = new Zend_Rest_Route($frontController, array(), array('default' => array('UploadAPI', 'LocationMatchesAPI', 'GetMatchesByIdAPI', 'AuthAPIController')  ));
$frontController->getRouter()->addRoute('rest', $restRouteUL);
}
...