从Symfony2更新到2.8

时间:2015-12-02 08:22:19

标签: symfony sonata sonata-user-bundle symfony-2.8

将symfony2与依赖项更新为2.8后,在尝试覆盖奏鸣曲用户包注册表单时出现以下错误消息:

The field type "Sonata\UserBundle\Form\Type\RegistrationFormType" is not registered with the service container.

如果我切换回Symfony 2.7,一切都会再次运作。

我的services.yml:

sonata.user.registration.form.type:
    class: My\Bundle\Form\Type\RegistrationFormType
    arguments: [ "%fos_user.model.user.class%" , "@service_container"]
    tags:
        - { name: form.type, alias: sonata_user_registration }

在我的控制器中,以下行触发错误:

$form = $this->container->get( 'sonata.user.registration.form' );

不幸的是,我无法找到关于此主题的任何资源(即,如果自最新版本以来覆盖注册表格有任何变化)

1 个答案:

答案 0 :(得分:2)

好的,这不是一个错误,而是一个新功能。您必须使用bundle中的build()和boot()方法通过FormHelper :: registerFormTypeMapping注册FormType。