在我的 Laravel 5.2 应用程序中,我有一个名为“cart”的自定义中间件,我用它来跟踪不同路线上的用户购物车内容。
它看起来像这样:
class CartMiddleware
{
public function handle($request, Closure $next)
{
$cart = new Cart();
$cart_total = $cart->total();
view()->composer(['layouts.main'], function ($view) use ($cart_total) {
$view->with('cart_total', $cart_total);
});
return $next($request);
}
}
Route::group(['middleware' => ['cart']], function () {
Route::get('cart', 'CartController@show');
});
当我的应用程序引发 404 异常时,404.blade.php 视图无法呈现,因为它缺少$cart_total
“购物车”中间件提供的内容。
有没有办法将此“购物车”中间件分配给我的异常?
if ($e instanceof HttpException) {
if ($request->ajax()) {
return response()->json(['error' => 'Not Found'], 404);
}
return response()->view('errors.404', [], 404);
}
return parent::render($request, $e);