Fou*_*ail 59

对于$ _POST变量,请使用:

{{ app.request.parameter.get("page") }}
Run Code Online (Sandbox Code Playgroud)

对于$ _GET变量,请使用:

{{ app.request.query.get("page") }}
Run Code Online (Sandbox Code Playgroud)

对于$ _COOKIE变量使用此:

{{ app.request.cookies.get("page") }}
Run Code Online (Sandbox Code Playgroud)

对于$ _SESSION变量,请使用:

{{ app.request.session.get("page") }}
Run Code Online (Sandbox Code Playgroud)

  • 这假设您通过正确设置这些键传递"app"哈希. (10认同)
  • @Jenechka这个问题没有被标记为symfony,问题中的任何内容都没有建议使用它. (6认同)
  • @Maerlyn这是symfony解决方案 (3认同)

Mae*_*lyn 7

Twig中唯一可用的变量是:

如果您希望page变量可用,请添加"page" => $_GET["page"]到第二个参数render.

如果您希望拥有完整的$_GET超全局,请添加"GET" => $_GET到第二个参数render.


Mat*_*ley 7

您无法在 TWIG 中访问原始 PHP 值,因此您必须将所需的任何内容附加到树枝对象。

这是将$_GET,$_POST和附加$_SESSION到树枝的示例。

//initialise your twig object
$loader = new \Twig_Loader_Filesystem(__PATH_TO_TEMPLATES_FOLDER__');
$this->twig = new \Twig_Environment($loader);

$this->twig->addGlobal('_session', $_SESSION);
$this->twig->addGlobal('_post', $_POST);
$this->twig->addGlobal('_get', $_GET);
Run Code Online (Sandbox Code Playgroud)

现在让我们假设您username在上面的每个 ( $_GET,$_POST$_SESSION) 中都有一个名为存储的值,您现在可以访问模板中的所有这些,如下所示。

 {{ _session.username }}
 {{ _post.username }}
 {{ _get.username }}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


sad*_*diq 5

另一个工作解决方案@ 2019

app.request.get('page')
app.request.request.get('page')
Run Code Online (Sandbox Code Playgroud)