Как использовать сеансы в Symfony?

Как и в классическом PHP, мы используем магические переменные для запуска и создания сеансов, поэтому как это сделать в Symfony?

В контроллере вы можете получить доступ к переменным сеанса через объект пользователя.

// Get a session value $name = $this->getUser()->getAttribute('name', 'default_value'); // Set a session value $this->getUser()->setAttribute('name', $value); 

В Symfony2 синтаксис отличается:

 $session = $this->getRequest()->getSession(); // store an attribute for reuse during a later user request $session->set('foo', 'bar'); // in another controller for another request $foo = $session->get('foo'); 

Вы также можете получить переменные сеанса из Twig, без необходимости явно передавать переменную сеанса (она находится в глобальном «приложении»):

 {{ app.session.get('foo', 'bar'); }}