Php 创建可在控制器的所有方法上访问的会话

Php 创建可在控制器的所有方法上访问的会话,php,laravel,session,Php,Laravel,Session,我正在laravel进行一个电子商务项目,客人可以在登录前将物品添加到购物车中,为此,我计划使用一个会话,帮助跟踪该客户的所有物品 该项目有许多视图,但我使用相同的控制器来显示所有视图,因此我试图找到某种方法来创建会话(我在构造函数中尝试过,但由于重新创建了会话,因此无法正常工作) 我的构造函数代码 public function __construct() { $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR

我正在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);
        }
    }
请建议我一个变通办法,我可以使这项工作或任何其他解决方案也是受欢迎的


提前感谢您。

您应该在来宾路线上设置一个
中间件
,然后您可以根据您的应用程序要求使用会话


从Laravel 5.3及以后,施工人员无法访问会话。因为所有路由都使用
web
中间件,它为应用程序启用会话功能。这是在构造函数之后执行的。

根据您的标准,我更喜欢使用
cookie
而不是
session
客户没有固定的入口点,就像他可以使用ww.abc.com或ww.abc.com/products一样。。所以我必须在他任何时候创造它enters@DhavalChheda请看我的答案,这里可能是它可以帮助你,谢谢你分享,但我的问题是,我需要先创建一个随机数,这将与客人相关,我需要能够从所有视图访问。。View Composer的问题在于,它会在每次调用视图时重新创建变量。