2013-10-30 3 views
0

Symfony2 프레임 워크를 사용하여 응용 프로그램을 처음 만들려고합니다. 그러나 배울 것이 너무 많은 것이고 나의 두뇌는 모든 비디오/블로그 게시물/팁/워드 프로세서로 포화 상태에 이르며 모든 정보에 압도 당한다. 내 프로젝트를 올바른 방법으로 시작하고 내 아키텍처가 훌륭하게 진행되도록하고 싶습니다. 나는 "묶음"이라는 개념을 얻는다. 이는 기능과 관련된 모든 정보를 의미합니다. 하지만 나 자신에게 묻는다 ... 특징은 무엇인가? 기능을 어떻게 정의합니까?Symfony2 - 번들은 기능이지만 ... 기능은 무엇입니까?

내 프로젝트에서 간단한 예를 들어 보겠습니다. 계정에 가입하거나 로그인 할 수있는 사용자가 있습니다. 로그인은 기능 자체입니까? 전체 관리 인터페이스가 기능입니까?

두 번째 예도 있습니다. 내 응용 프로그램에서 내 사용자는 파일을 서버에 업로드 할 수 있습니다. 업 로더가 번들 (파일 유효성 검사, 파일 복사, 이미지 크기 조정)에 있다고 생각하십니까? 내 업 로더가 여러 번 (로고, 제품 이미지 등을 업로드하는 데) 사용된다는 것을 알고 있으며, 일단 완료되면 코드를 재사용하고 싶습니다.

답변

2

번들은 하나의 것을 구현하는 클래스 그룹입니다. 또는 번들은 라이브러리와 te 프레임 워크 사이의 접착제입니다. 예를 들어 블로그를 만들 때 기본 번들은 BlogBundle이됩니다. 당신은 또한 어떤 코멘트 시스템을 가지고 있으므로 CommentBundle도 가지고 있습니다. 메뉴에서는 KnpMenu 라이브러리를 사용하므로 KnpMenuBundle을 사용합니다. 페이지를 동적으로 만들려면 SonataBlockBundle과 SonataAdminBundle도 사용하십시오.

이들은 모두 기능입니다.

사례에 대한 답변 : 모든 관리 항목은 하나의 번들입니다. 하지만이 관리 번들에는 사용자 시스템이 포함되어 있지 않습니다. 이는 UserBundle (예 : FosUserBundle)의 작업입니다.

두 번째 경우 : 구성에 구성한 특정 파일의 업로드를 처리 할 MediaBundle이 있습니다. 또한 사용자 시스템에 대한 UserBundle과 프로젝트 관리를 유지하는 일종의 AdminBundle도 있습니다.

+0

흥미로운 점은 단일 페이지가 여러 번들을로드 할 수 있다는 의미입니까? 내 AdminBundle Twig가 FosUserBundle의 USER_ROLE에 따라 메뉴를 생성한다고 가정 해 봅시다. 그렇다면 내 MediaBundle 나뭇 가지가 내 업 로더를 생성합니까? –

+1

네, 물론입니다. 단일 요청에서 많은 번들이 사용됩니다 (올바른 방법을 사용하는 경우) –

관련 문제