How to Get All Routes in Laravel 10

Websolutionstuff | Dec-13-2023 | Categories : Laravel

Hey there! This tutorial guides you through the process of retrieving a comprehensive list of all routes in a Laravel 10 application. Throughout this article, we will cover the implementation of a method to list routes in Laravel 10.

The example provided will demonstrate how to obtain a complete list of routes using Laravel 6, Laravel 7, Laravel 8, Laravel 9, and Laravel 10 versions.

I will illustrate a straightforward example of how to acquire a complete list of routes within a Laravel application. The key to this lies in utilizing the getRoutes() function of the Route facade, which efficiently fetches the list of all routes.

Without further delay, let's dive into the simple step-by-step process to retrieve and display the Laravel routes list.

Step 1: Create a route

Create a route into the web.php file. So, add the below code to that file.

routes/web.php

<?php
  
use Illuminate\Support\Facades\Route;
  
use App\Http\Controllers\TestController;
  
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
  
Route::get('get-all-routes', [TestController::class, 'getAllRoutes']);

 
Step 2: Create Controller

Use the Artisan command to generate a new controller. Let's name it TestController.

php artisan make:controller TestController

Open the newly created TestController.php file in the app/Http/Controllers directory.

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
  
class TestController extends Controller
{
    /**
     * Write code on Method
     *
     * @return response()
     */
    public function getAllRoutes(Request $request)
    {
        $allRoutes = Route::getRoutes();
  
        return view('all-routes', compact('allRoutes'));
    }
}

 

Step 3: Create a Blade View

If you want to display the routes in a web page, create a Blade view. For example, create a file named all-routes.blade.php in the resources/views directory:

<!DOCTYPE html>
<html>
<head>
    <title>How to Get All Routes in Laravel 10 - Websolutionstuff</title>
</head>
<body>
    <h1>All Routes</h1>

    <table border="1">
        <thead>
            <tr>
                <th>Method</th>
                <th>URI</th>
                <th>Name</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            @foreach ($allRoutes as $route)
                <tr>
                    <td>{{ $route->methods()[0] }}</td>
                    <td>{{ $route->uri() }}</td>
                    <td>{{ $route->getName() }}</td>
                    <td>{{ $route->getActionName() }}</td>
                </tr>
            @endforeach
        </tbody>
    </table>
</body>
</html>

 

Step 4: Access the Routes

Visit the URL /all-routes in your browser to see a table displaying all routes along with their methods, URIs, names, and actions. And also, you can add middleware.

 

Conclusion:

This method allows you to programmatically retrieve all routes within your Laravel application without using an Artisan command directly.

 


You might also like:

Recommended Post
Featured Post
How to Create Components in Angular 16
How to Create Components in An...

In this article how to create components in angular 16. Here, we will learn about how to use angular component...

Read More

Jun-02-2023

Laravel 9 Ajax File Upload With Progress Bar
Laravel 9 Ajax File Upload Wit...

In this article, we will see the laravel 9 ajax file upload with a progress bar. we will learn how to file upload using...

Read More

Nov-15-2022

How to Increase max_input_vars in PHP Ubuntu
How to Increase max_input_vars...

Hey folks! If you've ever encountered issues with PHP hitting the max_input_vars limit, you're not alone. In thi...

Read More

Feb-02-2024

Github And Git Commands
Github And Git Commands

GitHub, Inc. is a United States-based global company that provides hosting for software development and version control...

Read More

Jul-15-2020