32

就像在经典 PHP 中一样,我们使用魔法变量来启动和创建会话,那么如何在 Symfony 中做到这一点?

4

2 回答 2

80

在 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'); }}
于 2012-07-14T12:46:08.803 回答
33

在您的控制器中,您可以通过用户对象访问会话变量。

// Get a session value
$name = $this->getUser()->getAttribute('name', 'default_value');
// Set a session value
$this->getUser()->setAttribute('name', $value);
于 2009-11-19T09:03:07.157 回答