FOSUserBundle 如何正确扩展处理程序

FOSUserBundle how to extend handler correctly

它抛出这个错误:

Unrecognized option "handler" under "fos_user.registration.form"

文件是:

    //services.yml
    app.form.registration:
        class: AppBundle\Form\AccomodationFrontSignUpType
        tags:
            - { name: form.type, alias: app_user_registration }

    app.form.handler.registration:
        class: AppBundle\Form\Handler\RegistrationFormHandler
        arguments: ["@fos_user.registration.form", "@request", "@fos_user.user_manager", "@fos_user.mailer", "@fos_user.util.token_generator"]
        scope: request
        public: false

//config.yml
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: AppBundle\Entity\User
    group:
        group_class: AppBundle\Entity\Group
    service:
        mailer: swiftmailer.mailer.strato
    from_email:
            address:        webmyhomepage@strato.com
            sender_name:    myHomepage
    registration:
        form:
            handler: app.form.handler.registration
            type: app_user_registration
        confirmation:
            template:   FOSUserBundle:Registration:email.txt.twig
            enabled: true

欢迎任何帮助,谢谢

该错误表示您的配置中存在无效参数。配置中的密钥处理程序

-> handler: app.form.handler.registration

如果您查看 fos 用户包 DependencyInjection 文件夹中的 Configuration.php 文件,该选项不存在。所以它无效:)。 在那里您可以看到 选项可用。在我当前版本的这个包中,我在表格下提供了这个选项:type, name, validation_groups.

您还可以看到捆绑包的默认配置:

php app/console debug:config FOSUserBundle