2017-10-06 4 views
0

私はlaravelパッケージを作成します。このパッケージにミドルウェアを使用しますが、サービスプロバイダのミドルウェアを登録してルーティングするときに問題が発生します。laravelパッケージにMiddelwareを登録するには

これは私のサービスプロバイダでは私のコードです:

$router = $this->app['router']; 
    $router->middleware('checkRoles', Ilbeygi\UserRole\Middlewares\CheckRole::class); 

ルート:

Route::get('permission','[email protected]')->middleware('checkRoles'); 

エラー:

`ReflectionException (-1) 
Class checkRoles does not exist` 

私を助けてください...

laravelバージョン:5.5

答えて

0

ミドルウェアを使用すると、登録済みのミドルウェアのクラスオフ配列である$routeMiddlewareを見つけるこのカーネルクラスで

. 
+-- app 
| +-- Http 
|  +-- Kernel.php 

に登録されています。あなただけを追加してください:

protected $routeMiddleware = [ 
    'checkRoles' => \Ilbeygi\UserRole\Middlewares\CheckRole::class, 

1つの発言:あなたのアプリケーションに登録されていないサービスプロバイダは、利用できません。ちょうどあなたのサービス・プロバイダ・クラスを追加し、あなたが'providers'リストを持っているがあり

. 
+-- config 
| +-- app.php 

:あなたには、サービスプロバイダを登録することができます。

関連する問題