【问题标题】:Redirection from a static method Symfony2?从静态方法 Symfony2 重定向?
【发布时间】:2011-11-23 07:19:49
【问题描述】:
static public function check( $securityContext)
{   
    $user = $securityContext->getToken()->getUser();

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



    return $user->getRecruteur();
}

我尝试使用 new Controller()-> 但它不起作用,所以我如何从静态方法调用 redirect()。 谢谢。

【问题讨论】:

    标签: php methods static redirect symfony


    【解决方案1】:

    您可以将所需的服务传递给静态方法

    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'));
    

    【讨论】:

    • 调用未定义的方法 Symfony\Bundle\FrameworkBundle\Routing\Router::generateUrl()
    猜你喜欢
    • 2017-02-23
    • 2015-12-22
    • 1970-01-01
    • 2019-02-14
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多