app('cart') 在 Laravel 从 5.2 更新到 5.3 后,在构造函数和服务提供程序文件中没有从会话中提供正确的数据



在升级其正常工作之前,我们不会从app('cart'(获取数据。我们正在为购物车使用 Cartalyst 包,我们将整个购物车对象存储在会话中,但是当我们尝试进入购物车服务提供商时,它给了我们空白对象,但在 Laravel 调试器中,它显示它在那里,并且在产品页面和主页等其他页面中它工作正常,但在购物车页面中,从 5.3 从 5.2 更新 Laravel 5.2 后它不起作用

<?php
namespace AppCartProviders;
use App;
use IlluminateSupportServiceProvider;
class CartServiceProvider extends ServiceProvider
{
    /**
     * Register the service provider.
     * @return void
     */
    public function register()
    {
        App::bind('AppCartInterfacesCartServiceInterface', function () {
            return new AppCartServicesCartService(app('cart'));
        });
    }
}

问题来了,因为我们无法在构造函数和服务提供程序中访问会话变量,因为我在中间件组中声明会话中间件,然后加载,所以我从中删除并在内核中添加中间件选项.php

protected $middleware = [
    IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode::class,
    IlluminateSessionMiddlewareStartSession::class,
    IlluminateViewMiddlewareShareErrorsFromSession::class,
];

最新更新