Slim4与Twig中全局会话变量设置问题求助
Slim4 + bryanjhv/slim-session:Twig全局调用会话变量问题解决
问题背景
在Slim4框架中使用bryanjhv/slim-session扩展时,遇到会话变量无法全局在所有Twig模板中直接调用的问题,困扰数周。目前仅能通过控制器的Render方法手动传递会话数据到对应模板,无法实现所有Twig模板直接调用会话数据的需求。
尝试过的无效方案
- 在容器中设置Twig全局变量:模板仅能获取容器中设置的初始会话值,无法同步更新后的会话数据
- 自定义
TwigSessionVarsMiddleware中间件:中间件内部测试代码能输出正确的会话值,但模板仍无法获取更新后的会话数据 - 主
index.php文件中也无法获取会话数据,此前使用Slim/CSRF扩展时也出现过类似的会话数据无法正常获取的问题
有效解决方法
调整bryanjhv/slim-session的Session中间件加载位置到index.php中,调整后会话数据可默认在所有Twig模板中全局使用。接下来将验证Slim/CSRF扩展的可用性。
内容的提问来源于stack exchange,提问作者Kim K.
相关产品推荐
相关产品推荐

