类管理员不存在

Fai*_*iez 1 php laravel laravel-5

Laravel 5.5有问题。简单的网站工作正常。但是,当我访问管理面板时,登录后出现此错误。

消息“ ReflectionException类别管理不存在”引发

app \ Http \ Middleware \ Admin.php

<?php

namespace App\Http\Middleware;

use Closure;

use Illuminate\Support\Facades\Auth;


class Admin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(Auth::check() && Auth::user()->isAdmin()){

            return $next($request);
        }
        return redirect('home');
    }
}
Run Code Online (Sandbox Code Playgroud)

web.php

Auth::routes();
Route::group(['prefix'=>'admin','middleware'=>['auth','admin']], function(){

    Route::post('toggledeliver/{orderId}','OrderController@toggledeliver')->name('toggle.deliver');

    Route::post('toggledeliver/{productId}','ProductsController@toggledeliver')->name('product.deliver');


    Route::get('/',function(){
        return view('admin.index');
    })->name('admin.index');
});
Run Code Online (Sandbox Code Playgroud)

Hir*_*hel 7

创建中间件后,您需要将其注册app/http/Kernel.phpprotected $routeMiddleware array中的文件中!然后,您可以在路由中使用此中间件web.php / api.php

像这样:

protected $routeMiddleware = [
    'admin' => 'App\Http\Middleware\Admin',
];
Run Code Online (Sandbox Code Playgroud)

希望这对您有所帮助!

  • 感谢帮助 (2认同)