Zaznaczę od razu, że korzystam z Zend Framework 1. Nie chciałem tego tematu umieszczać w "frameworki" ponieważ raczej on tego nie dotyczy.
Przechodząc do sprawy zastanawiam się w jaki sposób mógłbym zrobić Api do aplikacji. Chcę aby dostęp do pewnych źródeł wyglądał w następujący sposób:
- http://mojadomena.pl/api/user/1/json - pobiera dane użytkownika o id1 (json)
- http://mojadomena.pl/api/user/1/xml - (xml)
- http://mojadomena.pl/api/users/x/json- pobiera x użytkowników (json)
- http://mojadomena.pl/api/users/x/xml - pobiera x użytkowników(xml)
itp. itd
Zastanawiam się nad skorzystaniem z Zend_Rest_Controller, Zend_Rest_Route i Zend_Rest_Client z tego względu, że wymagają implementacji put,get,post,index,head.
Zastanawiam się również nad wykorzystaniem cURL.
Ale najbardziej bym chciał abym dostawał coś w postaci jak bym dostawał to za pomocą AJAX.
Mam routing typu:
/api/user/:id/:format
w metodzie init() w kontrolerze mam:
$this->getHelper('AjaxContext') ->initContext();
Jak robię to za pomocą jQuery.Ajax to wszystko fajnie śmiga. Chciałbym aby nie zależnie od tego w jaki sposób wywołam (czy z poziomu PHP czy AJAX, czy jakiej kolwiek innej technologii) dostawałbym tablicę typu JSON.
Ewentualnie moglibyście mnie nakierować na inne rzeczy, które się stosuje.
Dziękuję wielkie
Pozdrawiam
Może pytanie innego typu.
Czy może budować całą aplikację na SOAP a potem korzystać z odpowiednich modułów do renderowania widoków dla użytkowników.
Na przykład mamy taką strukturę:
- modules
-- blog
--- controllers
---- IndexController (korzysta z SoapController)
---- SoapController
-- account
--- controllers
---- IndexController(Korzysta z SoapController)
---- AuthController (Korzysta z SoapController)
---- SoapController
itp.
Teraz w każdym kontrolerze o nazwie SoapController w metodzie init dajemy: 'setNoRender()'. Za pomocą tego możemy na różnych platformach generować widoki. Wydaje mi się chyba nawet ten sposób dobry. Dzięki temu moglibyśmy postawić taką aplikację w Javie (Pracowała by właśnie na SOAP) a w PHP łączyć się z serwerem javy i pobierać dane.
Jeśli się mylę to proszę o konkretne odpowiedzi,
Dzięki z góry
