Вы должны определить сервис, который ссылается на ваш расширенный класс обработчика, и указать его в app/config.yml
. * например 1002 *
Класс,
//namespace definitions
class MyHandler extends RegistrationFormHandler{
private $container;
public function __construct(Form $form, Request $request, UserManagerInterface $userManager, MailerInterface $mailer, ContainerInterface $container)
{
parent::__construct($form, $request, $userManager, $mailer);
$this->container = $container;
}
protected function onSuccess(UserInterface $user, $confirmation)
{
$repository = $this->container->get('doctrine')->getEntityManager()->getRepository('AcmeUserBundle:Photo');
// your code
}
Сервис,
my.registration.form.handler:
scope: request
class: FQCN\Of\MyHandler
arguments: [@fos_user.registration.form, @request, @fos_user.user_manager, @fos_user.mailer, @service_container]
Наконец в app/config.yml
,
fos_user:
#....
registration:
#...
form:
handler: my.registration.form.handler