在升级其正常工作之前,我们不会从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,
];