2017-07-30 8 views
0

ルート名は、Laravel 5.4ベンダーパッケージmiddlewareにありますか?Laravelパッケージのミドルウェアでルートを取得する

これは、私のパッケージとミドルウェアがどのように構成されているかを示しています。

vendor 
-Student 
--Pickachoo 
--src 
---PickachooServiceProvider.php 
---Controller 
---Middleware 
----StudentMiddleware.php 
---Routes 
---Views 

は、これは私がミドルウェアにルート名にアクセスしようとしている方法です:

public function handle($request, Closure $next) 
{ 
    dd($request->route()->getName()); 
    return $next($request); 
} 

この$request->route()->getName()右、ルート名を返すことになっていますか?しかし、nullを返しています。

私は3通りの方法でミドルウェアを追加しようとしましたが、何も働かず、毎回nullを返します。

次のように私はPickachooServiceProviderに私のミドルウェアStudentMiddlewareを追加してい:

public function boot(\Illuminate\Routing\Router $router) 
{ 
    /*Register middleware*/ 
    $router->aliasMiddleware('authenticate', 'Student\Pickachoo\Middleware\StudentMiddleware'); 
} 

は、代わりに私は成功せず、別途app/http/kernel.php配列$middleware$routeMiddlewareでミドルウェアを追加してみました。

ルート:仕事をしたあなたのミドルウェアで

Route::middleware(['web'])->group(function(){ 

    Route::get('/test', function() { 
     echo 'Something'; 
    })->middleware('authenticate'); 

}); 

答えて

1

チェック

public function handle($request, Closure $next) 
     { 

      dd(\Request::route()->uri); 

      return $next($request); 
     } 
+0

。しかし、なぜ ? – StudentX

+0

あなたの現在の訪問希望をあなたに示しています。多くの情報を含む経路オブジェクトをダイ・ダンプする –

関連する問題