我使用以下命令创建了一个自定义中间件
php artisan make:middleware RedirectIfPasswordNotUpdated
这是我的中间件
<?php
namespace App\Http\Middleware;
use Closure;
use Carbon\Carbon;
use Illuminate\Support\Facades\Auth;
use App;
class RedirectIfPasswordNotUpdated
{
public function handle($request, Closure $next)
{
if (!App::environment(['production'])) {
return $next($request);
}
$user = Auth::user();
if (!$user->password_updated_at) {
return redirect()->route('profile.password.edit')->with([
'message' => 'Please update your password to proceed',
'alertType' => 'warning',
]);
}
if (Carbon::now()->diffInDays(Carbon::parse($user->password_updated_at)) > 90) {
return redirect()->route('profile.password.edit')->with([
'message' => 'Your password has expired! Please update your password to proceed',
'alertType' => 'warning',
]);
}
return $next($request);
}
}
我想在我的控制器的构造函数中使用这个中间件,如下所示
public function __construct()
{
$this->middleware('auth');
$this->middleware('RedirectIfPasswordNotUpdated');
}
当,我这样做时,我得到一个ReflectionException (-1)说
Class RedirectIfPasswordNotUpdated does not exist
我在其他 Laravel(v5.4、v5.6)项目中以相同的方式使用这个中间件,并且没有任何问题。但它在当前版本 (v5.8) 中不起作用。我究竟做错了什么?
摇曳的蔷薇