Php FOSUserBundle重写默认表单并获取InvalidArgumentException

Php FOSUserBundle重写默认表单并获取InvalidArgumentException,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,在执行覆盖窗体的操作后,我遇到一个错误。我得到的错误是: 为服务“scheduler\u user.registration.form.type”指定的类型名称与实际名称不匹配。预期为“调度器用户注册”,给定为“fos用户注册” 以下是相关文件: RegistrationFormType.php <?php // src/Scheduler/UserBundle/Form/Type/RegistrationFormType.php namespace Scheduler\UserBund

在执行覆盖窗体的操作后,我遇到一个错误。我得到的错误是:

为服务“scheduler\u user.registration.form.type”指定的类型名称与实际名称不匹配。预期为“调度器用户注册”,给定为“fos用户注册”

以下是相关文件:

RegistrationFormType.php

<?php
// src/Scheduler/UserBundle/Form/Type/RegistrationFormType.php

namespace Scheduler\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;

class RegistrationFormType extends BaseType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        parent::buildForm($builder, $options);

        // add your custom field
        $builder->add('firstname');
        $builder->add('lastname');
    }

    public function getFirstname()
    {
        return 'scheduler_user_registration';
    }

    public function getLastname()
    {
        return 'scheduler_user_registration';
    }
}
服务.yml

# src/Scheduler/UserBundle/Resources/config/services.yml
services:
    scheduler_user.registration.form.type:
        class: Scheduler\UserBundle\Form\Type\RegistrationFormType
        arguments: [%fos_user.model.user.class%]
        tags:
            - { name: form.type, alias: scheduler_user_registration }

表单类型不需要
getFirstname
getLastname
方法

删除其中一个,将另一个重命名为
getName

该方法不是表单字段的getter。它只是指定表单的名称

# app/config/config.yml

# ...

# FOS User Bundle
fos_user:
    db_driver: orm
    firewall_name: main
    user_class: Scheduler\UserBundle\Entity\User
    registration:
      form:
        type: scheduler_user_registration
# src/Scheduler/UserBundle/Resources/config/services.yml
services:
    scheduler_user.registration.form.type:
        class: Scheduler\UserBundle\Form\Type\RegistrationFormType
        arguments: [%fos_user.model.user.class%]
        tags:
            - { name: form.type, alias: scheduler_user_registration }