创建可重用的用户和组管理包,如FOSUserBundle?

时间:2012-09-14 09:56:58

标签: symfony fosuserbundle

实际上我有五个基于Symfony 2.0的简单项目。每个项目都使用Doctrine ORM进行用户管理。

在捆绑包中,User类的差异很小。 Bundle1 可能会添加“商家名称”属性, Bundle2 可能会添加“入站通信”关系。但是所有人都拥有相同的知名属性,如“盐”,“密码”,“用户名”,“角色”等。当然还有一些搜索用户的逻辑。

问题是统一用户管理的合理方法是什么?我的意思是创建一个可重用的UserBundle。我正在寻找关于xml配置,映射超类,服务,实体和表单继承的一些建议。

我看过FOSUserBundle,对我来说看起来有点复杂。我无法完全理解它的逻辑。我不需要模板和视图,因为我的五个包中的每一个都处理它。我更喜欢自己编写代码。

1 个答案:

答案 0 :(得分:1)

  

我看过FOSUserBundle,对我来说看起来有点复杂。我无法完全理解它的逻辑。我不需要模板和视图,因为我的五个包中的每一个都处理它。我更喜欢自己编写代码。

你自己回答了你的问题,嵌入了利弊。

优点:

  • 可重用代码使开发更快

缺点:

  • 可重复使用的代码通常更通用,导致更复杂的事情来解决问题。

如果您在一个经常开发涉及用户管理的项目的团队中工作,那么创建自己的项目是非常有价值的。

大多数发布的捆绑包最初是为个人使用而开发的。

如果您知道除了Doctrine2之外你不会使用其他任何东西,那么你可以绕过抽象的东西来使其与MongoDb一起工作。

如果您这样做,请记住,在使用与您相同的技术的同事使用它时,它将与其他开发人员共享。

如果你一个人,那就让它符合你的需要。