我从Symfony2开始,我试图重写FOSUserBundle的FOS \ UserBundle \ Form \ Handler \ RegistrationFormHandler。FOSUserBundle:获取EntityManager实例覆盖表单处理程序
我的代码是:
<?php
namespace Testing\CoreBundle\Form\Handler;
use FOS\UserBundle\Model\UserInterface;
use FOS\UserBundle\Form\Handler\RegistrationFormHandler as BaseHandler;
use Testing\CoreBundle\Entity\User as UserDetails;
class RegistrationFormHandler extends BaseHandler
{
protected function onSuccess(UserInterface $user, $confirmation)
{
// I need an instance of Entity Manager but I don't know where get it!
$em = $this->container->get('doctrine')->getEntityManager();
// or something like: $em = $this->getDoctrine()->getEntityManager
$userDetails = new UserDetails;
$em->persist($userDetails);
$user->setId($userDetails->getId());
parent::onSuccess($user, $confirmation);
}
}
所以,问题是,我需要主义的实体管理器的实例,但我不知道在哪里/如何在这种情况下得到它!
有什么想法?
在此先感谢!
非常感谢所有的信息,这是一个完整的答案!明天我会处理这些提示,我会给你我的反馈。 –