如何从laravel 5.3中的url获取路由前缀名称

时间:2016-12-02 16:35:16

标签: php laravel laravel-5.3

如何在Laravel 5.3中动态获取路由前缀名称?

例如,这里是网址:

  

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

这里是路线档案。路由组前缀为admin

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

1 个答案:

答案 0 :(得分: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()的前缀。