2016-12-02 12 views
-1

Laravel 5.3でルートプレフィックス名を動的に取得するにはどうすればよいですか?laravel 5.3のURLからルートプレフィックス名を取得する方法

例えば、ここにURLだ:

http://localhost/lara/public/admin/login

そしてここでは、ルートファイルです。ルートグループのプレフィックスはadminです:

Route::group(['prefix' => 'admin'], function() { 
    Route::get('users', function() { 
     // Matches "/admin/users" 
    }); 
}); 
+3

[Laravelのルーティングドキュメント](https://laravel.com/docs/5.3/routing)を見ましたか?何を試しましたか? – Chris

+0

グループ名を動的に取得したい。実際にはadmin、userなどの別の名前かもしれません –

+0

もう一度、Atul、[Laravelのルーティングドキュメント](https://laravel.com/docs/5.3/routing)を見ましたか? URLの一部を取得する方法を示します。そしてあなたが本当にララヴェのルートグループを指しているなら、彼らもそこにいます。 – Chris

答えて

0

それはあなたが求めているものは非常に明確ではないですが、私はあなたが動的にルートグループのプレフィックスを設定できるようにしたいと思います。たとえば、管理領域のURIプレフィックスを動的に変更できます。

のはconfig/app.phpファイルに対応する設定ディレクティブを追加してみましょう:あなたのルートファイルで次に

return [ 
    // ... 

    'admin_url' => 'backoffice', 
]; 

// Fetch the prefix from the config file, fallback to "admin" if not available 
Route::group(['prefix' => config('app.admin_url', 'admin')], function() { 
    Route::get('users', function() { 
     // ... 
    }); 
}); 

次にコントローラで、あなたが定義されたルートのプレフィックスのいずれかでアクセスできますconfig()ヘルパーへの同じ呼び出し、または$request->route()->getPrefix()への同じ呼び出し。

コンテキストに$requestインスタンスがない場合は、いずれのコントローラでも接頭辞$this->getRouter()->getCurrentRoute()->getPrefix()を取得できます。

関連する問題