16

あるコントローラーでセッション変数を作成しましたが、別のコントローラーでそれにアクセスしたいと考えています。loginsuccessコントローラーでセッションを設定しました:

$session->set('id',$id);

別のコントローラーでこの変数にアクセスするにはどうすればよいですか?

4

4 に答える 4

4

Cyprianの回答は有効ですが、ドキュメントには次の使用法があります。

use Symfony\Component\HttpFoundation\Session\Session;

$session = new Session();
$session->start();

// set and get session attributes
$session->set('id',$id);
$session->get('id'); //this is the line you are looking for

http://symfony.com/doc/master/components/http_foundation/sessions.html

ノート:

セッションを明示的に開始することをお勧めしますが、セッションは実際にはオンデマンドで開始されます。つまり、セッション データの読み取り/書き込みを行うセッション リクエストが行われた場合です。

于 2013-06-01T22:00:07.050 に答える
1

コメントに書き込む 3 番目の方法があります。

use Symfony\Component\HttpFoundation\Session\SessionInterface;

public function indexAction(SessionInterface $session)
{
     $session->set('test', 'yes !');
}

このようにして、タイプヒント付きの変数を取得できます。この方法で、IDE の Session オブジェクトのメソッドにアクセスできます。

于 2019-08-07T10:24:09.730 に答える