Comment obtenir tous les itinéraires dans Laravel 9

Dans ce didacticiel, nous allons vous montrer comment obtenir toutes les routes dans Laravel 9. Laravel est un framework PHP populaire qui facilite le développement d'applications Web. Les routes sont la façon dont Laravel mappe les requêtes entrantes à des actions de contrôleur spécifiques. 

Dans ce didacticiel, nous donnerons deux exemples simples d'obtention d'une liste de tous les itinéraires dans l'application laravel. Nous utiliserons la getRoutes()fonction de la façade Route et route:listla commande artisan pour obtenir une liste de toutes les routes de laravel.

  • Exemple 1 : Utiliser la fonction getRoutes()
  • Exemple 2 : Utiliser la commande artisan route:list

Exemple 1 : Utiliser la fonction getRoutes()

Étape 1 : Créer un itinéraire

Nous allons ajouter une route get-all-routes pour afficher toutes les routes dans Laravel. Alors, regardons l'exemple suivant.

routes/web.php

<?php
  
use Illuminate\Support\Facades\Route;
  
use App\Http\Controllers\DemoController;
  
/*
|--------------------------------------------------------------------------
| 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', [DemoController::class, 'index']);

Étape 2 : Créer un contrôleur

Nous devons créer un nouveau contrôleur sous DemoControlleret y écrire une méthode d'index comme celle ci-dessous. Alors, regardons l'exemple suivant :

app/Http/Controllers/DemoController

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

Étape 3 : Créer un fichier lame

Nous devons créer un fichier blade avec routesList.blade.php pour afficher toutes les routes. Examinons donc l'exemple suivant :

resources/views/route-list.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>How to Get All Routes in Laravel 9 - techvblogs.com</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
        
<div class="container">
    <h1>How to Get All Routes in Laravel 9 - techvblogs.com</h1>
    
    <table class="table table-bordered">
        <thead>
            <tr>
                <th>Method</th>
                <th>URI</th>
                <th>Name</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            @foreach($routes as $route)
                <tr>
                    <td>{{ $route->methods()[0] }}</td>
                    <td>{{ $route->uri() }}</td>
                    <td>{{ $route->getName() }}</td>
                    <td>{{ $route->getActionName() }}</td>
                </tr>
            @endforeach
        </tbody>
    </table>
  
</div>
      
</body>
      
</html>

Exécutez Laravel :

Toutes les étapes requises ont été effectuées. Maintenant, vous devez taper la commande ci-dessous et appuyer sur Entrée pour exécuter l'application Laravel :

php artisan serve

Maintenant, allez dans votre navigateur Web, tapez l'URL donnée et affichez la sortie de l'application :

http://localhost:8000/get-all-routes

Exemple 2 : Utiliser la commande artisan route:list

La commande route:list peut être utilisée pour afficher une liste de toutes les routes enregistrées pour l'application. Cette commande affichera le domaine, la méthode, l'URI, le nom, l'action et le middleware pour les routes qu'elle inclut dans la table générée.

L'exemple suivant montre comment utiliser la commande sans aucune option :

php artisan route:list

Bon codage !!!

1.00 GEEK