2012-09-14 2 views
2

사실 Symfony 2.0을 기반으로 한 5 개의 간단한 프로젝트가 있습니다. 각 프로젝트에는 Doctrine ORM을 사용하는 사용자 관리 기능이 있습니다.FOSUserBundle과 같은 재사용 가능한 사용자 및 그룹 관리 번들 생성하기?

번들 중 User 클래스에는 차이점이 거의 없습니다. 번들 1은 "비즈니스 이름"속성을 추가 할 수 있습니다. 번들 2은 "인바운드 통신"관계를 추가 할 수 있습니다. 그러나 모두 "salt", "password", "username", "roles"등과 같은 잘 알려진 속성을 공유합니다. 물론 사용자 검색을위한 일부 논리.

질문 사용자 관리를 통일하는 합리적인 접근 방법은 무엇입니까? 다시 사용할 수있는 UserBundle을 만드는 것을 의미합니다. XML 구성, 매핑 된 수퍼 클래스, 서비스, 엔티티 및 폼 상속에 대한 몇 가지 조언을 찾고 있습니다.

FOSUserBundle을 살펴 보았습니다. 다소 복잡해 보입니다. 나는 그 논리를 완전히 이해할 수 없다. 내 다섯 묶음 각각이 그것을 처리하기 때문에 템플릿과 뷰가 필요하지 않습니다. 그리고 나는 그것을 스스로 코딩하는 것을 선호한다.

답변

1

나는 FOSUserBundle을 살펴 봤지만 조금 복잡해 보입니다. 나는 그 논리를 완전히 이해할 수 없다. 내 다섯 묶음 각각이 그것을 처리하기 때문에 템플릿과 뷰가 필요하지 않습니다. 그리고 나는 그것을 스스로 코딩하는 것을 선호한다.

장단점을 포함하여 자신의 질문에 답변하고 있습니다.

장점 :

  • 재사용 가능한 코드 개발 빠른

단점을한다 :

  • 재사용 가능한 코드가 종종 더 일반적인하고 문제를 해결하기 위해 더 복잡한 일들로 이어집니다.

사용자 관리와 관련된 프로젝트를 자주 개발하는 팀에서 일하는 경우 자신을 만드는 것이 완전히 중요합니다.

릴리스 된 번들 대부분은 처음에 개인용으로 개발되었습니다.

Doctrine2 이외의 다른 작업을하지 않는다는 것을 알고 있다면, 예를 들어 MongoDb에서 작동하게 만들기 위해 추상화하는 부분을 우회 할 수 있습니다.

그렇다면 동일한 기술을 사용하는 동료가 다른 개발자와 공유하는 동안 다른 개발자와 공유 될 수 있습니다.

혼자라면 필요에 맞게 만드십시오.

+0

물론 동의하지만 답변이 너무 이상적입니다. 좀 더 재사용 할 수 있도록 번들 구조에 대한 좀 더 구체적인 조언이 필요합니다. – gremo

+0

@Gremo, 코드를 재사용 할 수 있도록 조언을 원한다면 번들로 생각하지 말고 Symfony2에 (번들을 만들어서) 플러그인 할 수있는 라이브러리로 생각해보십시오. 재사용 가능한 코드는 최소한의 의존성으로 분리됩니다. symfony2에서 lib를 다른 프레임 워크처럼 쉽게 플러그인 할 수 있다면 끝입니다. –