Heim > PHP-Framework > Laravel > Hauptteil

So implementieren Sie Laravel-Routing

王林
Freigeben: 2023-05-20 18:55:38
Original
726 Leute haben es durchsucht

Laravel ist ein beliebtes PHP-Framework, das ein benutzerfreundliches Routing-System bietet. Mit dem Routing-System von Laravel können Sie Methoden für verschiedene URIs und HTTP-Anfragen definieren. In diesem Artikel werden wir uns eingehend mit der Implementierung von Routing in Laravel befassen.

  1. Grundlegendes Routing

Die grundlegende Routing-Definition von Laravel ist sehr einfach. Wir können die Methoden get, post, put, delete und andere der Route-Klasse verwenden, um Routen zu definieren.

Zum Beispiel können wir eine einfache GET-Route definieren:

Route::get('/hello', function () {
    return 'Hello, Laravel!';
});
Nach dem Login kopieren

Die obige Route definiert eine GET-Anfrageroute mit einem URI von /hello und gibt die Zeichenfolge „Hallo, Laravel!“ zurück.

  1. Routing-Parameter

In tatsächlichen Anwendungen können Routen Parameter haben. Mit dem Routing-System von Laravel können Sie diese Parameter definieren. Sie können Parameter in einer Route mithilfe der {param}-Syntax definieren, wobei param der Parametername ist.

Zum Beispiel können wir eine Route definieren, die Parameter akzeptiert:

Route::get('/user/{id}', function ($id) {
    return 'User ID: ' . $id;
});
Nach dem Login kopieren

Die obige Route definiert eine GET-Anfrageroute, die den ID-Parameter akzeptiert. In der Callback-Funktion können wir die Variable $id verwenden, um die übergebenen Parameter abzurufen und an den Browser zurückzugeben.

  1. Optionales Parameter-Routing

Mit dem Laravel-Routing-System können Sie optionale Routing-Parameter definieren. Fügen Sie einfach ? nach dem Parameternamen hinzu, um den Parameter als optional zu kennzeichnen.

Zum Beispiel können wir eine Route mit optionalen Parametern definieren:

Route::get('/user/{id}/{name?}', function ($id, $name = null) {
    if ($name) {
        return 'User ID: ' . $id . ', Name: ' . $name;
    } else {
        return 'User ID: ' . $id;
    }
});
Nach dem Login kopieren

Die obige Route definiert eine GET-Anfrageroute, die ID- und optionale Namensparameter akzeptiert. In der Callback-Funktion prüfen wir, ob $name existiert. Wenn es existiert, geben wir die ID und den Namen zusammen zurück. Andernfalls wird nur der ID-Parameter zurückgegeben.

  1. Einschränkungen für reguläre Ausdrücke

Manchmal müssen Sie möglicherweise Regex-Einschränkungen auf Routenparameter anwenden, um sicherzustellen, dass sie bestimmten Regeln entsprechen. In Laravel können Sie dazu reguläre Ausdrücke verwenden.

Zum Beispiel können wir eine Route mit einer regulären Ausdrucksbeschränkung definieren:

Route::get('/user/{id}/{name}', function ($id, $name) {
    return 'User ID: ' . $id . ', Name: ' . $name;
})->where(['id' => '[0-9]+', 'name' => '[a-zA-Z]+']);
Nach dem Login kopieren

Die obige Route definiert eine GET-Anfrageroute mit ID- und Namensparametern. In der Callback-Funktion geben wir diese beiden Parameter zusammen zurück. Beim Definieren der Route verwenden wir die Methode where, um anzugeben, dass der ID-Parameter mit [0-9]+regulärer Ausdruck und der Namensparameter mit [a-zA-Z]+regulärer Ausdruck übereinstimmen muss.

  1. Benannte Routen

In Laravel können Sie Namen für Routen definieren, was die Definition von URLs erleichtert.

Zum Beispiel können wir eine benannte Route definieren:

Route::get('/user/profile', function () {
    return 'User Profile';
})->name('profile');
Nach dem Login kopieren

Die obige Route definiert eine GET-Anfrageroute und benennt sie als Profil. Bei der Definition einer Route geben wir den Namen mit der Namensmethode an. Jetzt können wir diesen Namen im Code verwenden, um URLs zu generieren.

  1. URL-Generator

Mit dem URL-Generator von Laravel können Sie ganz einfach die URL Ihrer Anwendung generieren. Mit der Routenfunktion können Sie die URL der Route generieren.

Zum Beispiel können wir die oben genannte Route verwenden, um eine URL zu generieren:

$url = route('profile');
Nach dem Login kopieren

Der obige Code generiert eine URL, die auf /profile verweist.

  1. Controller-Routing

In Laravel können Sie Routen auch auf Controller-Methoden verweisen, anstatt Abschluss-Callback-Funktionen direkt anzugeben. Auf diese Weise können Sie Anfragen zentral in Ihrer Steuerung bearbeiten.

Zum Beispiel können wir eine Controller-Route definieren:

Route::get('/user/{id}', 'UserController@show');
Nach dem Login kopieren

Die obige Route definiert eine GET-Anforderungsroute, die den Parameter /id auf die Show-Methode des UserController-Controllers verweist.

  1. RESTful-Routing

Mit RESTful-Routing können Sie RESTful-API-Endpunkte für Ihre Anwendung definieren. In Laravel können Sie RESTful-Routen mithilfe der Ressourcenmethode der Route-Klasse definieren.

Zum Beispiel können wir eine RESTful-Route definieren:

Route::resource('photos', 'PhotoController');
Nach dem Login kopieren

Der obige Code stellt uns die standardmäßige RESTful-Route bereit, einschließlich der Methoden zum Indizieren, Erstellen, Speichern, Anzeigen, Bearbeiten, Aktualisieren und Zerstören. Diese Methoden werden verwendet, um Anfragen im PhotoController-Controller zu verarbeiten.

Zusammenfassung

Dieser Artikel behandelt die Grundlagen des Routings in Laravel. Wir haben etwas über grundlegendes Routing, Routing-Parameter, optionale Parameter, Einschränkungen für reguläre Ausdrücke, benanntes Routing, URL-Generatoren, Controller-Routing und RESTful-Routing gelernt. Das Routing-System von Laravel ist sehr leistungsstark und verarbeitet problemlos verschiedene Anfragen.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Laravel-Routing. 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!