web-dev-qa-db-fra.com

Comment utiliser les sessions dans Symfony?

Comme dans le classique PHP nous utilisons les variables magiques pour démarrer et créer des sessions, alors comment faire cela dans Symfony?

31
Harish Kurup

Dans votre contrôleur, vous pouvez accéder aux variables de session via l'objet utilisateur.

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

Dans Symfony2, la syntaxe est différente:

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

Vous pouvez également obtenir des variables de session de Twig, sans avoir à passer explicitement la variable de session (c'est dans l'application globale):

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