我正在使用集成到WordPress的Laravel,并努力了解我应该在何处根据MVC设计模式放置会话数据?
回到那一天,我曾经将所有内容放在视图(header.php和footer.php)文件中,过了一段时间后,它变得一团糟,完全混乱 .
正如here所写:
作为MVC我使用CodeIgniter,所以我不知道这对于您的特定环境是否适用,但我通常从控制器设置会话值 . 即使在视图中也可以这样做,但正确的方法是将代码保存在控制器中(将数据库内容保留在模型中) . 在控制器中,您可以使用标准的php $ _SESSION数组,或者它存在于您的框架会话类中 .
是的,我理解这是一个很好的做法,不要搞乱视图并将会话变量放在控制器内 . 这是问题所在:
当我使用WordPress时,目标是有一个会话变量总是被加载的地方,无论我改变主题或其他什么都没关系,它们应该留在Laravel后端 .
没有任何测试,我可以考虑几个选项:
-
使用Laravel服务提供程序并在
boot
函数中插入会话变量 . -
但是,使用Laravel Middleware功能,不确定如何实现它 .
1 回答
您可以使用laravel https://laravel.com/docs/5.6/session Session帮助程序 .
然后你可以做
Session::put('hello','world'); Session::save();
并用Session::get('hello');
检索它 . 你可以在你想要的任何地方做到这一点,只要你记得在把东西放进去,修改东西或删除东西后保存会话 .只要加载了Laravel并且域具有laravel会话cookie,您就可以访问它们 .