In Laravel application, route can be defined with name. It is a unique identifier which can be used for generating URLs or redirecting to specific routes.
This tutorial provides 3 methods how to get route name in Laravel 9 application.
Let's say we have defined the following route named test_index
:
<?php
use App\Http\Controllers\TestController;
use Illuminate\Support\Facades\Route;
Route::get('/', [TestController::class, 'index'])->name('test_index');
Method 1 - 'Route' facade
Laravel provides the Route
facade which allows retrieving route name using currentRouteName
method.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Route;
class TestController extends Controller
{
public function index(): Response
{
return new Response(Route::currentRouteName()); // Output: test_index
}
}
Method 2 - 'Request' object
Request
object allows getting the current route. Its name can be retrieved by using getName
method.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class TestController extends Controller
{
public function index(Request $request): Response
{
return new Response($request->route()?->getName()); // Output: test_index
}
}
Method 3 - 'Request' facade
We can get the current route using Request
facade. The getName
method allows getting the route name.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Request;
class TestController extends Controller
{
public function index(): Response
{
return new Response(Request::route()?->getName()); // Output: test_index
}
}
Leave a Comment
Cancel reply