我见过很多人试图使用FOSUserBundle。
我现在已经挣扎了6个小时了。只是为了能够制作自定义用户注册表单。 基本文档长达6页:basic。 从我的角度来看,以下是使用FOSUserBundle的所有缺点:
fos_user
。因此,您必须将所有代码基于user
实体,该实体是BaseUser
的子项。如果你的数据库遵循一个约定(就像wordpress一样,所有表都以wp_
开头),这会破坏你的约定。所以我只是想知道:如果使用FOSUserBundle有什么意义? 如果我已经完成了注册过程,该过程遵循Symfony帮助(表单,表单验证和会话)中解释的基本内容,我只是复制粘贴我的代码,从我的角度来看,这比安装要快得多,配置,继承,修改FOSUserBundle等。
知道我做了什么,FOSUserBundle有什么优势?什么可以让我改变并花更多时间让它与我的项目一起工作,而不是从另一个项目中重新使用我的(表单,表单验证和会话)?
答案 0 :(得分:3)
嗯,你的问题听起来更像是一个咆哮,但你得到了一些积分。
在我看来,FOSUserBundle
以及社区中很多Bundle的主要问题是他们试图使其可定制,通用,可重复使用等等。
目标是公平的,但实际上它通常会导致不是人类友好代码。大多数情况下,你需要花费更多的时间来使用社区捆绑“完成它”而不是制作自己的(参见奏鸣曲包)。
我不是说他们是坏捆绑,根本不是,但他们应该有不同的目的。
对我来说,这样的捆绑可以帮助新手快速实施,完成任务,并且在快速应用程序开发的情况下,它可能非常简单完成所有注册过程,以获得一个完整的应用程序。
但大部分时间,你都会意识到使用第三方代码与你自己的概念联系太多,这是错误的。
相比之下,我非常喜欢npm社区,有很多小包装,只有一个功能,您可以轻松集成,我尝试,以青睐库而不是当我想发布一个开源项目时的bundle。关键是框架实现没有任何概念或哲学,可以轻松集成到现有项目中。
我记得有些早期我不得不和Joomla,Drupal,Wordpress一起玩,不管是什么,这是“插件/扩展/模块”的方式,就像我们经常听到的那样“有一个捆绑的东西” ,有些人或公司只是想完成它,无论质量,应用的未来,因为它已经被出售。
总而言之,这样的捆绑可以极大地帮助和加快开发过程,但是要小心,如果你有自定义要求,性能含义等,请不要使用它们,但是如果你只想快速证明概念,或者简单的应用,值得。
这是一个基于我自己的经验和使用它的失败的小说故事:)
答案 1 :(得分:1)
我知道这是一篇旧帖子,但随着搜索引擎不断将其编入索引...
仅供参考 FOSUserBundle 已停止使用并且在 Symfony 4 和 5 中没有用...