При создании Restful API в Zend Framework вы можете использовать модули? - PullRequest
1 голос
/ 02 июня 2011

При создании Restful API в Zend Framework вы можете использовать модули? Если да, то можно ли объяснить, как? с примером прив. (или ссылка с сопроводительными документами)

У меня есть модули под названием:

Продукт

  • может иметь один контроллер

Entity

может иметь более одного контроллера, например.

  • / клиент

  • / поставщик

В каждом у меня есть контроллер индекса с методами:

Получить

Сообщение

Положить

Удалить

* +1034 * Пример: * * одна тысяча тридцать пять

Продукты / index /? Id = 1 & name = test (добавят)

Однако я хочу удалить слово index, так что это вместо этого: Продукты /? Id = 1 & name = test (добавим)

Я могу сделать это с помощью Zend_Controller_Router_Route, но он не передает запрос, я посмотрел на getMethod, но вы не можете сделать это на этапе начальной загрузки.

Есть ли способ использовать модульное приложение Zend Framework в качестве успокоительного API?

1 Ответ

1 голос
/ 06 июня 2011

Да, вы можете.

Вы должны использовать Zend_Rest_Route. Он направляет запрос по методу к правильному действию. Существует одна ошибка, которая препятствует настройке маршрута отдыха в файле конфигурации, поэтому вы должны добавить маршрут в загрузчик.

<?php
protected function _initRestRoute()
{
    $front = Zend_Controller_Front::getInstance();
    $router = $front->getRouter();
    $restRoute = new Zend_Rest_Route(
        $front,
        array(),     //Defaults
        array('api') //Restful modules
    );
    $router->addRoute('rest', $restRoute);
}

По умолчанию, если вы укажете такой URL-адрес, 123 будет привязан к переменной $ id

products/123

Вы также можете указать URL-адрес следующим образом, когда переменные связываются «123» -> $ id и «test» -> $ name

products/id/123/name/test

Контроллеры должны расширять класс Zend_Rest_Controller

...