ucan-lab2016/04/02 12:21確認したいですが、var_dumpの前にsession_startはされてますか? Symfony側とその別PHPファイルでセッションIDは異なってますか?
toss2016/04/03 07:29セッションスタートしておらず、してみたところ、 array(0) { } と出力されました。 状況としては、twigファイルでのページ(test.twigに渡すコントローラー内では以下を記入) if ($app->isGranted('ROLE_USER')) { $user = $app['user']['id']; }) return $app->render('Block/test.twig', array( 'User' => $user, )); から、<a>タグでphpファイルにリンクを飛ばしている状況です。 また、phpファイルの中身は現在以下になっています。 <?php session_start(); var_dump($_SESSION); ?>
ucan-lab2016/04/03 09:27もしかして、renderでtwigにデータを渡したらそれがセッションに格納されると勘違いされておりませんか? Symfony2ではSessionオブジェクトを経由してセッションを操作できます。 $session = $request->getSession(); $session->set('foo', 'bar'); http://symfony.com/doc/current/book/controller.html#managing-the-session
ucan-lab2016/04/04 01:55> URLを拝見しましたところ、この場合コントローラー内での記述になるかと思うのですが、コントローラー外でも受け取ることができるでしょうか? できます。セッションは、ページ間で変数の内容を維持するための仕組みです。
toss2016/04/04 12:15$session = $request->getSession(); と記述するには$requestが必要でその$requestを受け取るにはpublic functionが必要で、それにはclassが必要で、、、となってしまいます。 コントローラー外で受け取るのがこう考ると、どうしてもできません。。。
ucan-lab2016/04/05 00:031. コントローラ内でセッションに値を格納 2. テンプレートを表示 3. 別PHPファイルへ遷移 4. PHPファイル内でセッションを呼び出す 上記のプロセスだと思ったのですが、異なりますか? 1では$session = $request->getSession();呼び出せばいいですし、 4では$_SESSIONを見ればいいだけだと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/02 12:06
2016/04/02 12:21
2016/04/03 07:29
2016/04/03 09:27
2016/04/04 01:14
2016/04/04 01:55
2016/04/04 12:15
2016/04/05 00:03
2016/04/05 08:36