我正在开发一个laravel的电子商务项目,客人可以在登录之前将项目添加到他的购物车中,为此我计划使用会话来帮助跟踪该客户的所有项目。
该项目有很多视图,但我使用相同的控制器来显示所有这些,所以我试图找到一些我可以创建一个会话(我在构造函数中尝试但是它没有工作,因为它得到重新 - 创建)
我的构造函数代码
public function __construct()
{
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$finalCode = substr(str_shuffle(str_repeat($pool, 12)), 0, 12);
session(['UserIdentity' => $finalCode]);
$abc = session('UserIdentity');
if(!(isset($abc)))
{
// Auto generated Code
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$finalCode = substr(str_shuffle(str_repeat($pool, 12)), 0, 12);
session(['UserIdentity' => $finalCode]);
$finalsession = session('UserIdentity');
dd($finalsession);
}
}
请建议我解决方法,我可以做这项工作或任何其他解决方案也欢迎。
期待你的感谢..
答案 0 :(得分:0)
您应在访客路线上设置middleware
,然后根据您的应用要求使用会话。
从Laravel 5.3开始,在构造函数中无法访问会话。由于所有路由都使用web
中间件,为您的应用程序启用会话功能。这是在构造函数之后执行的。