Heim > PHP-Framework > Laravel > Hauptteil

Was ist eine Laravel-Routing-Konfigurationsdatei?

PHPz
Freigeben: 2023-04-21 14:02:41
Original
867 Leute haben es durchsucht

Was ist die Laravel-Routing-Konfigurationsdatei?

Laravel ist ein beliebtes PHP-Entwicklungsframework, das ein leistungsstarkes Routing-System bereitstellt, das URLs Controller-Methoden zuordnen kann. Mit dem Routing-System von Laravel können wir problemlos RESTful-APIs und Webanwendungen erstellen und verschiedene HTTP-Anfragen (GET, POST, PUT, DELETE usw.) auf sehr einfache Weise verarbeiten. In Laravel bestehen Routen aus einer oder mehreren Massenroutendefinitionen, die auch zu einer gruppierten Route zusammengefasst werden können. Dieser Artikel konzentriert sich auf Laravel-Routing-Konfigurationsdateien.

In Laravel können Routen direkt in der Routing-Datei oder mithilfe von Routing-Konfigurationsdateien definiert werden. Was ist also eine Routing-Konfigurationsdatei? Einfach ausgedrückt ist die Laravel-Routing-Konfigurationsdatei eine PHP-Datei, die das Routing definiert und Routing-Definitionen, Routing-Gruppierungen und andere Informationen enthält. Durch Platzieren der Routendefinition in der Konfigurationsdatei können wir das Routing der Anwendung ändern, indem wir einfach die Konfigurationsdatei ändern, ohne den Controller-Code zu ändern.

Die Routing-Konfigurationsdatei von Laravel wird normalerweise im Verzeichnis /routes mit dem Dateinamen web.php oder api.php gespeichert, entsprechend den Routing-Definitionen von Webanwendungen bzw. API-Anwendungen. In beiden Dateien stellt Laravel Beispielcode bereit, den wir direkt verwenden können, um mit dem Entwurf unserer Anwendungsrouten zu beginnen. Beispielsweise enthält die Datei web.php eine Beispielroute:

Route::get('/', function () { 
    return view('welcome');
});
Nach dem Login kopieren

Diese Route definiert eine GET-Anfrage, die eine Ansicht mit dem Namen „welcome“ zurückgibt, wenn die URL „/“ ist. Ebenso werden Definitionen für Beispielrouten in der Datei api.php bereitgestellt. Beispiel:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
Nach dem Login kopieren

Diese Route definiert eine GET-Anfrage. Wenn die URL „/user“ lautet, muss die Middleware „auth:api“ verwendet werden, um den Benutzer zu authentifizieren und die Informationen des aktuellen Benutzers zurückzugeben.

In der Routing-Konfigurationsdatei von Laravel können wir Routing-Makrodefinitionen verwenden, um den Routing-Definitionscode zu vereinfachen. Routenmakrodefinitionen ermöglichen es uns, wiederverwendbare Routenvorlagen zu erstellen und diese in verschiedenen Routen zu verwenden. Beispielsweise können wir in der web.php-Datei eine Makrodefinition namens „dashboard“ definieren:

Route::macro('dashboard', function () {
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
});
Nach dem Login kopieren

Wir können diese Makrodefinition dann an anderer Stelle in der Anwendung verwenden:

Route::middleware(['auth', 'verified'])->dashboard();
Nach dem Login kopieren

Diese Route definiert eine GET-Anfrage, wenn die URL „ /dashboard“ und wird durch die Middleware „auth“ und „verified“ überprüft. Rufen Sie die Indexmethode in der DashboardController-Klasse auf und nennen Sie sie „dashboard“.

Die Routing-Konfigurationsdatei von Laravel bietet auch die Funktion von Routing-Gruppen. Durch die Routengruppierung können wir die gleiche Middleware, das gleiche benannte Präfix, den gleichen Namespace und andere Optionen für eine Gruppe von Routen innerhalb einer Routinggruppe definieren. Beispielsweise können wir in der Datei web.php eine Routing-Gruppe mit dem Namen „admin“ erstellen:

Route::prefix('admin')->middleware(['auth'])->group(function () {
    Route::get('/', [AdminController::class, 'dashboard'])->name('admin.dashboard');
    Route::get('/users', [UserController::class, 'index'])->name('admin.users.index');
    Route::get('/users/{id}', [UserController::class, 'show'])->name('admin.users.show');
});
Nach dem Login kopieren

Diese Routing-Gruppe definiert ein Routing-Pfad-Präfix „admin“, das die Middleware „auth“ zur Authentifizierung des Benutzers verwenden muss. und dann definieren Es gibt drei Unterrouten. Wenn die URL „/admin“ lautet, rufen Sie die Dashboard-Methode in der AdminController-Klasse auf und nennen Sie sie „admin.dashboard“. Wenn die URL „/admin/users“ lautet, rufen Sie die Indexmethode in der UserController-Klasse auf und nennen Sie sie „admin“. „ .users.index“; wenn die URL „/admin/users/{id}“ lautet, rufen Sie die Show-Methode in der UserController-Klasse auf und nennen Sie sie „admin.users.show“.

Routengruppen können auch verschachtelt werden, um Routen feinkörniger zu organisieren. Beispielsweise können wir im obigen Beispiel eine Untergruppe mit dem Namen „settings“ in der Routinggruppe „admin“ erstellen:

Route::prefix('settings')->group(function () {
    Route::get('/', [SettingsController::class, 'index'])->name('admin.settings.index');
    Route::post('/', [SettingsController::class, 'update'])->name('admin.settings.update');
});
Nach dem Login kopieren

Diese Untergruppe definiert ein Routing-Pfad-Präfix „settings“ und definiert dann zwei Unterrouten, eine GET-Anfrage und eine POST Rufen Sie mit der Anforderung die Methoden index und update in der Klasse SettingsController auf und nennen Sie sie „admin.settings.index“ und „admin.settings.update“.

Zusammenfassung:

Die Routing-Konfigurationsdatei von Laravel ist eine PHP-Datei, die das Routing definiert. Sie wird normalerweise im Verzeichnis /routes gespeichert und heißt web.php oder api.php, was der Routing-Definition von Webanwendungen und API-Anwendungen entspricht jeweils.

In der Routendatei können wir die von Laravel bereitgestellte Routenmakrodefinition verwenden, um den Code zu vereinfachen, und wir können die Routengruppierung verwenden, um dieselbe Middleware, dasselbe benannte Präfix, denselben Namespace und andere Optionen für eine Gruppe von Routen zu definieren.

Routengruppen können verschachtelt werden, um Routen feinkörniger zu organisieren.

Das obige ist der detaillierte Inhalt vonWas ist eine Laravel-Routing-Konfigurationsdatei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!