Как получить текущее название маршрута?

В Laravel 4 мне удалось получить имя текущего маршрута, используя …

Route::currentRouteName()

Как я могу сделать это в Laravel 5?

152

Решение

Попробуй это

Route::getCurrentRoute()->getPath();

или же

\Request::route()->getName()

от v5. +

use Illuminate\Support\Facades\Route;
$currentPath= Route::getFacadeRoot()->current()->uri();

Ларавел 5.3

Route::currentRouteName(); //use Illuminate\Support\Facades\Route;

Или если вам нужно название действия

Route::getCurrentRoute()->getActionName();

Вы можете найти все о маршрутах Laravel в Laravel API:
http://laravel.com/api/5.0/Illuminate/Routing/Router.html
http://laravel.com/api/5.0/Illuminate/Routing.html

Получение URI запроса

Метод path возвращает URI запроса. Итак, если входящий запрос нацелен на http://example.com/foo/barметод пути вернет foo/bar:

$uri = $request->path();

is Метод позволяет проверить, что URI входящего запроса соответствует заданному шаблону. Вы можете использовать * символ в качестве подстановочного знака при использовании этого метода:

if ($request->is('admin/*')) {
//
}

Чтобы получить полный URL, а не только информацию о пути, вы можете использовать метод url в экземпляре запроса:

$url = $request->url();
315

Другие решения

Используя Laravel 5.1, вы можете использовать

\Request::route()->getName()
31

Нашел способ найти текущее название маршрута работ для laravel v5 , v5.1.28 а также v5.2.10

Пространство имен

use Illuminate\Support\Facades\Route;

а также

$currentPath= Route::getFacadeRoot()->current()->uri();

Для Laravel Laravel v5.3 Вы можете просто использовать:

use Illuminate\Support\Facades\Route;

Route::currentRouteName();
21

Если тебе надо URL, не название маршрута, вам не нужно использовать / требовать другие классы:

url()->current();
19

Если вы хотите выбрать меню на нескольких маршрутах, вы можете сделать так:

<li class="{{ (Request::is('products/*') || Request::is('products') || Request::is('product/*') ? 'active' : '') }}"><a href="{{url('products')}}"><i class="fa fa-code-fork"></i>&nbsp; Products</a></li>

Или, если вы хотите выбрать только одно меню, вы можете просто сделать так:

<li class="{{ (Request::is('/users') ? 'active' : '') }}"><a href="{{url('/')}}"><i class="fa fa-envelope"></i>&nbsp; Users</a></li>

Также проверено в Ларавел 5.2

Надеюсь, это поможет кому-то.

14

Laravel 5.2 Вы можете использовать

$request->route()->getName()

Это даст вам текущее название маршрута.

9

В 5.2 вы можете использовать запрос напрямую с:

$request->route()->getName();

или с помощью вспомогательного метода:

request()->route()->getName();

Пример вывода:

"home.index"
6

Кратчайший путь — это Фасадный маршрут
\Route::current()->getName()

Это также работает в Laravel 5.4. *

6
По вопросам рекламы [email protected]