2010-06-29 6 views
7

젠드 프레임 워크 기반 응용 프로그램을 개발 중이며 API 모듈 용 스켈레톤을 작성했습니다. 웹에서 약간 읽었고 Zend_Rest_Controller을 기반으로 해골을 작성하기 시작했습니다. API를 사용하려면 키 로그인이 필요합니다.RESTful 젠드 프레임 워크 API

내 동료가 우리 응용 프로그램 중 하나에 대한 적절한 API로 스켈레톤 구현을 시작했을 때 질문이 시작되었습니다. 그는 우리가 API 컨트롤러에서 보통 Zend_Controller_Action을 확장하고 개체를 처리하는 indexActionZend_Rest_Server으로 설정하는 것이 더 좋을 것이라고 생각한다고 말했습니다.

나는 약간 혼란 스럽다. 내 개인적인 관점에서 볼 때, 각 액션 (get, post, put, delete)과 각각의 액션에서 로직의 비트를 포함하는 "평균보다 큰"컨트롤러를 원한다. Zend_Rest_Server.

제 문제는 아키텍처의 관점에서 볼 때 2 가지 솔루션 중 어느 것이 더 낫지는 못하다는 것입니다. 그리고 물론, 가장 쉽게 유지 보수 할 수있는 시간.

답변

5

Zend_Rest_Server는 일반적으로 Zend_Rest_Controller/Zend_Rest_route를 사용하여 더 이상 사용되지 않습니다. 예를 들어 post by MWO'P을 참조하십시오.

이것만으로도 Zend_Rest_Controller/Zend_Rest_Route의 방향으로 확실하게 밀려납니다. 당신이 젠드에서 REST를 수행 할 경우

+0

를 살펴 보시기 바랍니다. 흥미 롭습니다.'Zend_Rest_Controller'의 사소한 문제점은 컨트롤러가 뚱뚱하다는 것입니다. 두 번째 해결책은 API를 통해 공개하려는 객체에 대한 서비스 객체를 만드는 것입니다. 그리고 그것은 rest_controller-> object_service-> object-> object_model-> eventual_object_custom_abstraction에서 번역 할 것입니다. 나머지 컨트롤러에서 최종 객체 표현을 얻는 방법을 사전에 연구하지 않고 팀에서 유지하기가 상당히 어렵다고 생각합니다. –

+0

구현 세부 정보는 다음과 같습니다. 도메인에 실제로 의존하지만, 일반적으로 말하는 것처럼 제대로 된 것처럼 들립니다. 각 레이어에 정확히 무엇이 있는지는 잘 모르겠지만, 이런 종류의 작업을 수행 할 때 컨트롤러는 도메인 개체를 조작하는 서비스 계층에 의존하고 일종의 지속성 계층을 통해 저장소/페치를 처리합니다. – timdev