В последней версии Symfony 2 (с использованием FOSUserBundle и SonataUserBundle) я пытаюсь получить текущего пользователя, чтобы предварительно заполнить форму в моем новом контроллере Entity.
В mycontroller.yml:
my_controller_new:
pattern: /new
defaults: { _controller: "MySiteBundle:MyController:new" }
В MyController.php:
public function newAction()
{
$user = $this->getUser();
// ...
}
Но когда я вызываю $this->getUser()
, метод возвращает null
. Несмотря на то, что я вошел в систему (я могу получить доступ к /profile
и обновлять информацию о пользователе без каких-либо проблем)
Затем я попытался проверить, был ли запущен сеанс:
public function newAction()
{
var_dump($this->get('session')->isStarted());
// ...
}
Он возвращает false. Что здесь не так?
public function newAction() {
$session = $this->getRequest()->getSession(); // Get started session
if(!$session instanceof Session)
$session = new Session(); // if there is no session, start it
$value = $session->getId(); // get session id
}