Мой проект работает на symfony 2.3 с fosuserbundle. Я хочу, чтобы получить текущего пользователя в контроллереsymfony 2.3 Вызов функции-члена get() для не-объекта в функции __construct
$securityContext = $this->get('security.context');
$this->currentUser = $securityContext->getToken()->getUser();
и это работает, если я делаю это в indexAction()
. Но мне нужен пользователь в каждой функции контроллера, поэтому я попытался поместить код в функцию __construct
, и теперь он больше не работает.
Почему я не могу установить переменную в функции построения?
Вы получаете ошибки? – klipach
$ this-> getUser() - это все, что вам нужно. Взгляните на класс базового контроллера S2. Вы заметите, что он не имеет конструктора и что контейнер вводится позже с помощью метода setContainer. Это объясняет, почему размещение такого кода в конструкторе не будет работать. Но опять же, существующий метод getUser означает, что вам не нужно использовать consturcor в любом случае, – Cerad
О, я вижу. Спасибо за быстрый ответ! – Kable