So erhalten Sie alle Routen in Laravel 9

In diesem Tutorial zeigen wir Ihnen, wie Sie alle Routen in Laravel 9 erhalten. Laravel ist ein beliebtes PHP-Framework, das die Entwicklung von Webanwendungen vereinfacht. Mithilfe von Routen ordnet Laravel eingehende Anfragen bestimmten Controller-Aktionen zu. 

In diesem Tutorial geben wir zwei einfache Beispiele für den Erhalt einer All-Routen-Liste in der Laravel-Anwendung. getRoutes()Wir werden die Funktion der Routenfassade und des Handwerkerbefehls verwenden route:list, um eine Liste aller Routen in Laravel zu erhalten.

  • Beispiel 1: Verwenden Sie die Funktion getRoutes()
  • Beispiel 2: Verwenden Sie den Befehl artisan route:list

Beispiel 1: Verwenden Sie die Funktion getRoutes()

Schritt 1: Route erstellen

Wir werden eine Route zum Abrufen aller Routen hinzufügen, um alle Routen in Laravel anzuzeigen. Schauen wir uns also das folgende Beispiel an.

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']);

Schritt 2: Controller erstellen

Wir müssen einen neuen Controller erstellen DemoControllerund darauf eine Indexmethode wie die folgende schreiben. Schauen wir uns also das folgende Beispiel an:

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'));
    }
}

Schritt 3: Blade-Datei erstellen

Wir müssen eine Blade-Datei mit „routesList.blade.php“ erstellen, um alle Routen anzuzeigen. Schauen wir uns also das folgende Beispiel an:

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>

Laravel ausführen:

Alle erforderlichen Schritte wurden durchgeführt. Jetzt müssen Sie den unten angegebenen Befehl eingeben und die Eingabetaste drücken, um die Laravel-App auszuführen:

php artisan serve

Gehen Sie nun zu Ihrem Webbrowser, geben Sie die angegebene URL ein und sehen Sie sich die App-Ausgabe an:

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

Beispiel 2: Verwenden Sie den Befehl artisan route:list

Mit dem Befehl route:list kann eine Liste aller registrierten Routen für die Anwendung angezeigt werden. Dieser Befehl zeigt die Domäne, die Methode, den URI, den Namen, die Aktion und die Middleware für die Routen an, die er in die generierte Tabelle einbezieht.

Das folgende Beispiel zeigt, wie der Befehl ohne Optionen verwendet wird:

php artisan route:list

Viel Spaß beim Codieren!!!

1.00 GEEK