我從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);
}
}
所以,問題是,我需要主義的實體管理器的實例,但我不知道在哪裏/如何在這種情況下得到它!
有什麼想法?
在此先感謝!
非常感謝所有的信息,這是一個完整的答案!明天我會處理這些提示,我會給你我的反饋。 –