9

在使用 Symfony 1.x 几年后,我对 Symfony 2 很熟悉。

我需要创建一个具有自定义注册流程的会员网站。此外,该网站动态生成用户角色(以前credentialsSF v1.x中)用于限制对网站部分的访问。

我查看了 FOSUserBundle,但我看不到它提供的代码超出了食谱中“如何从数据库加载用户”链接上可用的代码。正如我之前提到的,我的用户注册和用户管理涉及很多自定义逻辑,我不想经历使用 FOSUserBundle 的学习曲线,而只需要用我自己的方法覆盖很多方法等自定义方法。

我对 Symfony2 的了解还不够,无法决定是从食谱代码中学习并在我自己的 UserBundle 中扩展它,还是花时间学习如何使用 FOSUserBundle 并使用我的自定义逻辑对其进行自定义。

总之,这就是我想对用户做的事情:

  1. 提供自定义注册工作流程
  2. 动态更新用户角色/组成员身份(最初在登录期间,随后在会话期间)。

那么我的问题是——哪门课程对我来说需要最少的学习曲线和努力(我只有不到一周的时间来建立一个准系统网站并运行——而且我只是在业余时间做 Web 开发)。

我是否:

  • 编写我自己的 UserBundle,使用说明书中的代码作为起点
  • 了解如何使用 FOSUserBundle 并使用我的自定义逻辑对其进行自定义?(看上面)
4

2 回答 2

22

这是一个古老的主题,但现在仍然非常有趣。我不同意弗洛伦特的回答,因为我认为它没有提供客观的观点。

FOSUserBundle 提供了用户和组的实现,就像 Symfony 已经提供的一样,你只需要配置它们。食谱和官方文档将让您在不到一天的时间内完成这项工作。

“全功能”控制器很有趣……只要您遵循此捆绑包定义的方式。不要太原始,否则您将花费​​数天时间覆盖捆绑包的代码和配置。老实说,注册和丢失密码很容易实现,SF2表单的机制已经很容易处理错误。

在 FOSUserBundle 中,视图是开箱即用的简约和无趣的,请自己制作。

如果我必须比较两条学习曲线,我会这样总结:两者都需要相同的时间来实现复杂的用户管理系统,但是在编写自己的提供程序时,你会更好地控制你的代码。

2 年后,知道你做了什么选择以及它是如何进行的,Homunculus Reticulli 会很有趣。

于 2012-11-26T13:47:42.853 回答
1

FOSUserBundle提供:

  • UserGroup实现
  • 具有有用功能的控制器(注册、丢失密码)
  • 意见

如果您需要这些功能,请使用此捆绑包,它将节省您的时间!

我不知道您的身份验证逻辑有多复杂,但我很确定它可以与FOSUserBundle''' 匹配。

于 2012-08-10T12:17:17.647 回答