总结一些在使用 Laravel 时遇到的问题,以备查询。


1. Undefined variable: errors

原因

当用户没注入 $errors 参数时,它由中间件:\Illuminate\View\Middleware\ShareErrorsFromSession::class 自动生成。

然而在 v5.2 版本后,该中间件不再伴随着每一个请求,而是被分入了 $middewareGroups 数组的 web 字段内,即:

1
2
3
4
5
6
7
8
9
10
11
12
13
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],

'api' => [
'throttle:60,1',
],
];

解决

添加 web 中间件。如:

1
2
3
Route::group(['middleware' => ['web']], function () {

});

更多资料

Undefined variable: errors — Laravel 5.2