[英]Symfony Fos User Bundle Controller overriding
嗨,我試圖覆蓋FOSUserBundle注冊控制器,以便具有兩種類型的用戶和兩種不同的形式
我有錯誤:
Type error: Too few arguments to function Utilisateurs\UtilisateursBundle\Controller\RegistrationController::__construct(), 0 passed in /Users/Antoine/Desktop/HC/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php on line 195 and exactly 4 expected
這是我的控制器
namespace Utilisateurs\UtilisateursBundle\Controller;
class RegistrationController extends BaseController
{
/**
* @param Request $request
*
* @return Response
*/
public function registerAction(Request $request)
{
$user = $this->userManager->createUser();
$user->setEnabled(true);
$user->addRole("ROLE_PRO");
$event = new GetResponseUserEvent($user, $request);
$this->eventDispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
$form = $this->formFactory->create(new ProRegistrationType());
$form->setData($user);
$form->handleRequest($request);
if ($form->isSubmitted()) {
if ($form->isValid()) {
$event = new FormEvent($form, $request);
$this->eventDispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$this->userManager->updateUser($user);
if (null === $response = $event->getResponse()) {
$url = $this->generateUrl('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
$this->eventDispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}
$event = new FormEvent($form, $request);
$this->eventDispatcher->dispatch(FOSUserEvents::REGISTRATION_FAILURE, $event);
if (null !== $response = $event->getResponse()) {
return $response;
}
}
return $this->render('@FOSUser/Registration/register.html.twig', array(
'form' => $form->createView(),
));
}
}
我查看了focuserbundle文檔,他們只是在談論1.3版本的FOSuserbundle中的重寫控制器,感謝您的幫助
要覆蓋FosUserBundle控制器,您應該聲明FOSUserBundle的子代。 我不明白為什么要有構造函數? 您有容器在容器中,您擁有所需的一切。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.