SonataUserBundle переопределить профиль формы

Я использую SonataUserBundle и пытаюсь переопределить форму редактирования профиля, но я не уверен насчет services.yml и config.yml. Вот код

ProfileType.php

namespace Application\Sonata\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use Sonata\UserBundle\Form\Type\ProfileType as BaseType;

class ProfileType extends BaseType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        parent::buildForm($builder, $options);
        $builder->add('ciudad', null, array('label' => 'Ciudad'));
        $builder->add('file', 'file', array('required' => false, 'label' => 'Subir Foto'));
    }

    public function getName()
    {
        return 'sonata_user_profile';
    }
}

ProfileFormHandler.php

<?php
namespace Application\Sonata\UserBundle\Form\Handler;

use Sonata\UserBundle\Model\UserInterface;
use Sonata\UserBundle\Form\Handler\ProfileFormHandler as BaseHandler;

class ProfileFormHandler extends BaseHandler
{
    public function process(UserInterface $user)
    {
        $this->form->setData($user);
        if ('POST' == $this->request->getMethod()) {
            $this->form->bindRequest($this->request);

            if ($this->form->isValid()) {
                 $nombreArchivoFoto = uniqid().$user->getId() . '-' . $user->getUsername() . '-foto-perfil.jpg';
                $user->upload($nombreArchivoFoto);
                $this->onSuccess($user);
                return true;
            }
            $this->userManager->reloadUser($user);
        }
        return false;
    }
}

services.yml

services:
    sonata_user.registration.form.type:
        class: Application\Sonata\UserBundle\Form\Type\RegistrationFormType
        arguments: [%fos_user.model.user.class%]
        tags:
            - { name: form.type, alias: sonata_user_registration }

    sonata_user.profile.form.type:
        class: Application\Sonata\UserBundle\Form\Type\ProfileType
        arguments: [%fos_user.model.user.class%]
        tags:
            - { name: form.type, alias: sonata_user_profile }

    sonata_user.form.handler.profile:
        class: Application\Sonata\UserBundle\Form\Handler\ProfileFormHandler
        arguments: ["@fos_user.profile.form", "@request", "@fos_user.user_manager"]
        scope: request
        public: false

config.yml

fos_user:
    db_driver: orm
    firewall_name: main
    user_class:  Application\Sonata\UserBundle\Entity\User
    registration:
       form:
            type: application_sonata_user_registration
    profile:
       form:
            type:               fos_user_profile
            handler:            fos_user.profile.form.handler.default
            name:               fos_user_profile_form
            validation_groups:  [Authentication]

sonata_user:
    security_acl:     false
    class:
        user:         Application\Sonata\UserBundle\Entity\User
        group:        Application\Sonata\UserBundle\Entity\Group

    profile:
        form:
            type:               sonata_user_profile
            handler:            sonata_user.form.handler.profile
            name:               sonata_user_profile_form
            validation_groups:  [Profile]

Если я использую вышеуказанные настройки, я получаю следующее исключение

ErrorException: Уведомление во время выполнения: объявление приложения \ Sonata \ UserBundle \ Form \ Handler \ ProfileFormHandler :: process () должно быть совместимо с Sonata \ UserBundle \ Form \ Handler \ ProfileFormHandler :: process (FOS \ UserBundle \ Model \ UserInterface $ user) в строке D: \ xampp \ htdocs \ misplanes.dev \ src \ Application \ Sonata \ UserBundle \ Form \ Handler \ ProfileFormHandler.php 8

И если я изменю services.yml

arguments: ["@sonata_user.profile.form", "@request", "@fos_user.user_manager"]

вместо

arguments: ["@fos_user.profile.form", "@request", "@fos_user.user_manager"]

Я получаю следующее исключение

ServiceNotFoundException: служба "sonata.user.profile.form.handler" зависит от несуществующей службы "sonata_user.profile.form".

Я действительно не знаю, в чем ошибка, я перепробовал множество конфигураций и читал разные форумы и блоги, но я не нашел решения. Я буду очень признателен за вашу помощь. Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос