【问题标题】:Slim Micro-framework / Twig Template language engine alternative to session variableSlim 微框架/Twig 模板语言引擎替代会话变量
【发布时间】:2016-03-04 00:43:27
【问题描述】:

我正在使用 Slim Microframework 和 Twig 模板语言,更准确地说:

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

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

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

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

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

【问题讨论】:

    标签: php session twig slim php-5.3


    【解决方案1】:

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

    在路线中:

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

    全球:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2014-02-11
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      相关资源
      最近更新 更多