Перенаправление со статического метода Symfony2? - PullRequest
1 голос
/ 23 сентября 2011
static public function check( $securityContext)
{   
    $user = $securityContext->getToken()->getUser();

  if(is_object($user) && [...])
    return **$this**->redirect(**$this**->generateUrl('route_recruteur_monespace'));



    return $user->getRecruteur();
}

Я пытался с новым Controller () -> но он не работает, так как я могу вызвать redirect () из статического метода.спасибо.

1 Ответ

6 голосов
/ 25 сентября 2011

Вы можете передать требуемые услуги статическому методу

use Symfony\Component\HttpFoundation\RedirectResponse;

class Foo
{
    static public function check($securityContext, $router)
    {
        $user = $securityContext->getToken()->getUser();

        // ...

        return new RedirectResponse($router->generate('route_name'));
    }
}

Затем вы можете вызвать его в вашем контроллере

Foo::check($this->get('security.context'), $this->get('router'));
...