2016-12-02 5 views
-1

Как я могу получить имя префикса маршрута динамически в Laravel 5.3?Как получить имя префикса маршрута от url в laravel 5.3

Например, вот 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

Я хочу получить название группы динамически. На самом деле это может быть другое имя, например, администратор, пользователь и т. Д. –

+0

Еще раз, Атул, вы посмотрели [Документацию маршрутизации 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() на любом контроллере.

Смежные вопросы