我可以使用twig模板引擎组件显示参数值($ _POST,$ _GET,$ _SESSION,$ _SESSION)

时间:2013-10-23 23:51:14

标签: php twig

我曾尝试这样做:

{{ $_GET['page'] }}

但仍然没有用。

4 个答案:

答案 0 :(得分:57)

对于$ _POST变量,请使用:

{{ app.request.parameter.get("page") }}

对于$ _GET变量,请使用:

{{ app.request.query.get("page") }}

对于$ _COOKIE变量,请使用:

{{ app.request.cookies.get("page") }}

对于$ _SESSION变量,请使用:

{{ app.request.session.get("page") }}

答案 1 :(得分:7)

Twig中唯一可用的变量是:

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

如果您希望提供完整的$_GET超级全局,请将"GET" => $_GET添加到render的第二个参数。

答案 2 :(得分:3)

您无法在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);

现在假设您在上面的每一个中都存储了一个名为username的值($_GET$_POST$_SESSION) 您现在可以按如下方式访问模板中的所有这些内容。

 {{ _session.username }}
 {{ _post.username }}
 {{ _get.username }}

希望这有帮助

答案 3 :(得分:2)

另一种可行的解决方案@ 2019

app.request.get('page')
app.request.request.get('page')