0

我的项目使用 fosuserbundle 在 symfony 2.3 上运行。我想在控制器中获取当前用户

$securityContext = $this->get('security.context');
$this->currentUser = $securityContext->getToken()->getUser();

如果我在indexAction(). 但是我在控制器的每个功能中都需要用户,所以我尝试将代码放入一个__construct函数中,现在它不再起作用了。

为什么我不能在构造函数中设置变量?

4

1 回答 1

0

在构造函数内部使用:

return $this->redirect('login');

不使用:

   return $this->redirect($this->generateUrl('login'));

所以它应该是这样的:

   class DefaultController extends Controller
   {
     public function __construct()
     {
           return $this->redirect('login');
           exit;

     }

      /**
      * @Route("/", name="home")
      */
     public function indexAction(Request $request)
      {

      }
   }
于 2015-10-20T12:43:31.120 回答