RESTFUL веб-приложение с Zend Framework и Extjs - PullRequest
1 голос
/ 22 мая 2011

Я пытаюсь создать веб-приложение, используя инфраструктуру JavaScript (например, Extjs) для клиентской стороны и среду Zend для серверной стороны.

Я много читал о REST и хочу использовать его в своем приложении. Я создал форму Extjs, которая асинхронно извлекает данные для названий стран, автоматически заполняет имена пользователей и т. Д.

Как мне создать контроллер Zend Framework? Сколько контроллеров я должен создать только для одной формы? У меня есть getAction в моем контроллере и запрос выглядит так: http://localhost/myproject/myform поэтому, если я хочу обрабатывать разные запросы Get (например, названия стран, города и т. д.), я должен создать инструкцию switch в моем getAction для каждого ресурса или я должен создать разные контроллеры только для одной формы, пока мне не придется использовать switch

    class IndexController extends Zend_Rest_Controller {

public function init() {

}

public function indexAction() {

}
public function getAction() {
    $this->_helper->viewRenderer->setNoRender ( true );
    //switch statement for diffrent resource requests goes here
}
public function postAction() {
    $this->_helper->viewRenderer->setNoRender ( true );
}
public function putAction() {
    $this->_helper->viewRenderer->setNoRender ( true );
}
public function deleteAction() {
    $this->_helper->viewRenderer->setNoRender ( true );
}

    }

Что вы предлагаете? Должен ли я создать много контроллеров только для одной формы extjs?

1 Ответ

1 голос
/ 22 мая 2011

У ZF есть несколько компонентов, которые помогут вам делать вещи РЕСТАЛЬНО.В частности, посмотрите Zend_Rest_Controller и Zend_Rest_Route.

Вам потребуется контроллер для каждого типа ресурса (города, страны и т. Д.), Каждый контроллер должен расширять Zend_Rest_Controller.

Учебники по получению Zend_Rest_Controller и Zend_Rest_Route легко найти в Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...