-->

在Symfony的2.1升级FOS UserBundle从1.2到2.0后的错误(Error aft

2019-09-20 22:46发布

我在Symfony的2.1,与PropelBundle和FOS UserBundle项目。 我升级FOS UserBundle与作曲家从1.2到最新版本(2.0),并依照指示,以删除应用程序/配置/ config.yml文件中的“propel_user_class”定义中指出Upgrade.md文件 。 我的新的配置如下:

# FOSUserBundle Configuration
fos_user:
    db_driver: propel
    firewall_name: main
    user_class: MyVendor\MyBundle\Model\Member
    registration:
        form:
            type: myvendor_user_registration

这样做并重建模型后,我提交了用户登录表单时,遇到下列错误:“用户服务提供者必须返回一个对象的UserInterface”

我认为这是与FOS UserBundle不承认我的用户类的“会员”,其性质的问题。 在FOS / UserBundle的早期版本(1.2)的FOS \ UserBundle \型号\的UserInterface被代理对象实现 ,因此我以前的配置(这是工作),包括以下内容:

user_class: MyVendor\MyBundle\FOSUserBundle\Propel\UserProxy
propel_user_class: MyVendor\MyBundle\Model\Member

我UserProxy.php文件用于扩展FOS \ UserBundle \行走\的userProxy并添加了特定于我的项目属性。 是UserProxy.php不再需要用新的UserBundle版本? 这样做还有什么我必须做的,使新版本UserBundle工作? 上述Upgrade.md文件还对配置文件形式将不再包装用户在CheckPassword级会谈,令牌的产生不是由User类做了。 但是,我不知道我是否有这样做,因为任何变化? 任何人都可以给我一些指导?

我想我的会员,圆和MemberCircle类定义架构转移到应用程序/资源/ FOSUserBundle /配置/推进/ schema.xml中覆盖FOS用户包内的模式,如文档中表示,而在我自己的包,告诉类延长在FOS UserBundle的那些,但我得到试图建立与推进模型时出现以下错误“应用程序/控制台推进:建设”:

[RuntimeException的]
“MyProjectName /应用程序/资源/ FOSUserBundle /配置/推进/ schema.xml中”资源由资源从“MyBundle”衍生束隐藏。 创建一个“MyProjectName /应用/资源/ MyBundle /配置/推进/ schema.xml中”文件覆盖捆资源。

我不停的命名空间 “FOS \ UserBundle \行走” 在app /资源/ FOSUserBundle /配置/推进/ Schema.xml文件。 我怎么能作出这样的架构重写一个在FOS / UserBundle? 我可以用它命名为“会员”(用户)和“圆”类(组)?

文章来源: Error after Upgrading FOS UserBundle from 1.2 to 2.0 in Symfony 2.1