web-dev-qa-db-ja.com

Symfonyでセッションを使用する方法は?

従来のPHPと同様に、マジック変数を使用してセッションを開始および作成します。Symfonyでそれを行う方法は?

31
Harish Kurup

コントローラーでは、ユーザーオブジェクトを介してセッション変数にアクセスできます。

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

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'); }}
80
Tac Tacelosky