2016-08-30 3 views
3

내 프로젝트에 Symfony를 사용하고 API REST를 빌드해야합니다.Symfony3로 API REST의 구조

기술적으로 API Rest를 만드는 방법을 알고 있지만 API REST 주위에 다른 것들을 구조화하는 방법을 모르겠습니다. 예를 들어

:

src/ 
    ApiBundle 
    CommentBundle 
    PageBundle 

ApiBundle는/업데이트 (등) 페이지 또는 댓글을 삭제/생성 할 수 있습니다. 엔티티 (및 양식)는 ApiBundle 또는 CommentBundle/PageBundle에 있어야합니까?

답변

4

심포니 모범 사례 - Organizing Your Business Logic :

대부분의 프로젝트의 경우, AppBundle 내부의 모든 것을 저장해야합니다. 여기에 내부, 당신은 그들이 단단히 어쨌든 결합되기 때문에, 기본적으로 당신이 Page 또는 Comment 같은 거의 모든 기업 (또는 그룹이나 단체)에 대해 별도의 번들을 안 가지

을 구성 할 원하는 디렉토리를 생성 할 수 있습니다. 그래서 그것에 이득이 없습니다.

사실 그것은 번들의 가장 큰 오해 중 하나입니다. 다른 번들과 독립적이며, 재사용이 가능하고 꽤 일반적인 코드가 아닌 이상, 별도의 번들을 생성해서는 안됩니다.

필자는 개인적으로 도메인 계층 (예 : 엔티티)을 모든 번들 외부에 두는 것을 개인적으로 선호합니다. 그렇게하면 프레임 워크와 결합되지도 않습니다.

+0

symfony2가 나왔을 때 거의 모든 것을위한 번들을 만드는 것이 좋습니다 ... Symfony3에서 번들이 여러 응용 프로그램에 공유되는 경우 generate : bundle 명령에서 선택할 수 있으므로 더 유연합니다. – Ousmane

+2

@ousmane 당신은 이전 추천에 대해 옳았습니다.하지만 커뮤니티에 의해 신속하게 거부되었으므로 그들의 모범 사례도 곧 변경되었습니다. S3가 나올 때까지 오랜 시간이 걸렸습니다. 그건 그냥 작동하지 않았다. :) –