8

Symfony doc は次のように述べています。

各リクエスト中に、Symfony2 はデフォルトで Twig と PHP テンプレート エンジンの両方でグローバル テンプレート変数 app を設定します。app 変数は、いくつかのアプリケーション固有の変数に自動的にアクセスできるようにする GlobalVariables インスタンスです:
app.security - セキュリティ コンテキスト。
app.user - 現在のユーザー オブジェクト。
app.request - リクエスト オブジェクト。
app.session - セッション オブジェクト。
app.environment - 現在の環境 (dev、prod など)。
app.debug - デバッグ モードの場合は true。それ以外の場合は偽。

例:
小枝の場合: {{ app.request.method }}
PHP の場合:echo $app->getRequest()->getMethod() 小枝の場合:{{ app.user.username }}
ただし、セッション オブジェクトの場合:
小枝の場合: {{ app.session.varname }}
PHPの場合// I don't know, do you know how to call it?

: 試してみました:$session = $app->getSession('uid');しかし、データベースに保存しようとすると、次のように表示されます:

Catchable Fatal Error: クラス Symfony\Component\HttpFoundation\Session のオブジェクトを C:\wamp\www の文字列に変換できませんでした...

PHPのテンプレートに関してはリソースが不足しているのですが、私の場合はなぜか切り替えができません。

言い換えれば、PHPテンプレートで同等のものは何
{{ app.session.varname }}ですか?

4

3 に答える 3

14

小枝で:{{ app.session.varname }}

PHPの場合:echo $app->getSession()->get('uid');

于 2012-04-11T18:54:41.077 に答える
0

error_log $app->getSession() を試して、何が返されるかを確認しましたか?

error_log(var_dump($app->getSession(), true));
于 2012-04-11T19:39:03.207 に答える
0
$session = $this->get('session');

if ($session->has('varname')) {
    echo $session->varname
} 
于 2012-04-11T17:16:31.820 に答える