Zend Routes и HTTP Verb / Метод - PullRequest
4 голосов
/ 30 мая 2011

Здравствуйте, я пытаюсь настроить некоторые REST-маршруты в приложении Zend, мне интересно, как я могу ограничить метод HTTP, к которому можно получить доступ к маршруту.

$route = new Zend_Controller_Router_Route('user/reset_password', array(
                'module' => 'default',
                'controller' => 'user',
                'action' => 'resetpassword'
            ));
$front_controller->getRouter()->addRoute('reset_password', $route);

На этом маршруте я хотел быуказать HTTP-глагол типа GET, POST, PUT и т. д., на который будет реагировать этот маршрут, например, добавив «method» => «POST» в массив.

Спасибо,

1 Ответ

6 голосов
/ 31 мая 2011

Вы не можете сделать это в текущей реализации ZF, поскольку он объявляет интерфейс маршрута как:

interface Zend_Controller_Router_Route_Interface {
    public function match($path);
    public function assemble($data = array(), $reset = false, $encode = false);
    public static function getInstance(Zend_Config $config);
}

Как видите, для параметра метода нет места.

Однако вы можете выполнить все проверки, скажем, в контроллере или написать свой собственный маршрутизатор.

...