Overriding Default FOSUserBundle Controllers ============================================ The default controllers packaged with the FOSUserBundle provide a lot of functionality that is sufficient for general use cases. But, you might find that you need to extend that functionality and add some logic that suits the specific needs of your application. The first step to overriding a controller in the bundle is to create a child bundle whose parent is FOSUserBundle. The following code snippet creates a new bundle named ``AcmeUserBundle`` that declares itself a child of FOSUserBundle. .. code-block:: php container->get('fos_user.registration.form'); $formHandler = $this->container->get('fos_user.registration.form.handler'); $confirmationEnabled = $this->container->getParameter('fos_user.registration.confirmation.enabled'); $process = $formHandler->process($confirmationEnabled); if ($process) { $user = $form->getData(); /***************************************************** * Add new functionality (e.g. log the registration) * *****************************************************/ $this->container->get('logger')->info( sprintf('New user registration: %s', $user) ); if ($confirmationEnabled) { $this->container->get('session')->set('fos_user_send_confirmation_email/email', $user->getEmail()); $route = 'fos_user_registration_check_email'; } else { $this->authenticateUser($user); $route = 'fos_user_registration_confirmed'; } $this->setFlash('fos_user_success', 'registration.flash.user_created'); $url = $this->container->get('router')->generate($route); return new RedirectResponse($url); } return $this->container->get('templating')->renderResponse('FOSUserBundle:Registration:register.html.twig', array( 'form' => $form->createView(), )); } } .. note:: If you do not extend the FOSUserBundle controller class that you want to override and instead extend ContainerAware or the Controller class provided by the FrameworkBundle then you must implement all of the methods of the FOSUserBundle controller that you are overriding.