Slim Micro-framework / Twig模板语言引擎替代会话变量

时间:2016-03-04 00:43:27

标签: php session twig slim php-5.3

我正在使用Slim Microframework和Twig模板语言,为了更精确:

"slim/slim": "^3.0",
"slim/twig-view": "^2.0",
"slim/php-view": "^2.0",

我的问题与在树枝系统中存储会话变量有关。

主页是一个登录页面,当用户提交表单时,表单的操作将其带到验证用户凭据的功能页面,如果凭据为false,则创建以下会话变量< / p>

   $_SESSION['error_login_message'] = "Sorry, your credentials are invalid";

然后他被重定向到登录页面,我的尝试是在那里显示会话变量,但这似乎不适用于twig(登录页面在twig模板下运行)。我也试过{{ session.error_login_message }},但这没有帮助。

1 个答案:

答案 0 :(得分:0)

这是因为twig模板无法访问会话。在渲染模板时添加数据,或全局将其附加到所有模板。

路线:

$this->view->render($response, "template.twig", [
    "session" => $_SESSION
]);

全局:

$app->getContainer()["view"]["session"] = $_SESSION;