FOSUserBundle:有什么意义?

时间:2013-09-28 07:53:15

标签: symfony fosuserbundle

我见过很多人试图使用FOSUserBundle。

我现在已经挣扎了6个小时了。只是为了能够制作自定义用户注册表单。 基本文档长达6页:basic。 从我的角度来看,以下是使用FOSUserBundle的所有缺点:

  • 您必须复制粘贴其视图以使继承成为可能
  • 他们在数据库上有拥有表:fos_user。因此,您必须将所有代码基于user实体,该实体是BaseUser的子项。如果你的数据库遵循一个约定(就像wordpress一样,所有表都以wp_开头),这会破坏你的约定。
  • 你必须使用诸如“如果fos_user_content块为空”之类的东西破解你自己的所有视图我认为没有什么可以显示,否则我必须重新组织我的整个视图来显示fos_user_content块(注册,修改用户配置文件和所以)“
  • 现在我看到,如果你需要两种不同的注册表格(例如,一个用于客户,一个用于合作伙伴),除非你破解,否则它是不可能的。见here

所以我只是想知道:如果使用FOSUserBundle有什么意义? 如果我已经完成了注册过程,该过程遵循Symfony帮助(表单,表单验证和会话)中解释的基本内容,我只是复制粘贴我的代码,从我的角度来看,这比安装要快得多,配置,继承,修改FOSUserBundle等。

知道我做了什么,FOSUserBundle有什么优势?什么可以让我改变并花更多时间让它与我的项目一起工作,而不是从另一个项目中重新使用我的(表单,表单验证和会话)?

2 个答案:

答案 0 :(得分:3)

嗯,你的问题听起来更像是一个咆哮,但你得到了一些积分。

在我看来,FOSUserBundle以及社区中很多Bundle的主要问题是他们试图使其可定制,通用,可重复使用等等。

目标是公平的,但实际上它通常会导致不是人类友好代码。大多数情况下,你需要花费更多的时间来使用社区捆绑“完成它”而不是制作自己的(参见奏鸣曲包)。

我不是说他们是坏捆绑,根本不是,但他们应该有不同的目的

对我来说,这样的捆绑可以帮助新手快速实施,完成任务,并且在快速应用程序开发的情况下,它可能非常简单完成所有注册过程,以获得一个完整的应用程序。

但大部分时间,你都会意识到使用第三方代码与你自己的概念联系太多,这是错误的。

相比之下,我非常喜欢npm社区,有很多小包装,只有一个功能,您可以轻松集成,我尝试,以青睐库而不是当我想发布一个开源项目时的bundle。关键是框架实现没有任何概念或哲学,可以轻松集成到现有项目中。

我记得有些早期我不得不和Joomla,Drupal,Wordpress一起玩,不管是什么,这是“插件/扩展/模块”的方式,就像我们经常听到的那样“有一个捆绑的东西” ,有些人或公司只是想完成它,无论质量,应用的未来,因为它已经被出售。

总而言之,这样的捆绑可以极大地帮助和加快开发过程,但是要小心,如果你有自定义要求,性能含义等,请不要使用它们,但是如果你只想快速证明概念,或者简单的应用,值得。

这是一个基于我自己的经验和使用它的失败的小说故事:)

答案 1 :(得分:1)

我知道这是一篇旧帖子,但随着搜索引擎不断将其编入索引...

仅供参考 FOSUserBundle 已停止使用并且在 Symfony 4 和 5 中没有用...

来源

  1. No Longer Maintained Message On Documentation #2874
  2. Is this project maintained? #2996
  3. Comment with alternatives by Caedendi on 10 Jan 2020