1 Routing-Mechanismus
Routing in MVC ist eine sehr wichtige Funktion, seine Funktion ist:
A. Matching basierend auf Benutzerzugriff (URL) Die eingehende Anfrage und die an die Anfrage angehängten Parameter:
B die Aktionsmethode zur Verarbeitung des Ergebnisses;
Die folgende Abbildung stellt eine Benutzeranfrage in einfacher Form dar:
2 Routing in Laravel
2.1 Route zur direkten Rückgabezeichenfolge
Fügen Sie den folgenden Codeausschnitt nach dem Originalcode hinzu:Öffnen Sie den Browser. Besuchen Sie : http://localhost:801/hw, wie unten gezeigt:
Route::get('/hw', function () { return 'Hello World'; });
2.2 Route zur Rückgabe der Ansicht
Erstellen Sie eine Ansichtsdatei: home.php im Verzeichnis resources/views mit folgendem Inhalt:
Route::get('/home', function () { return view('home'); });
<html> <body> <h1>home</h1> </body> </html>
Wenn der Code in der obiges Beispiel Was soll ich tun, wenn ich Parameter an die Ansichtsseite übergeben muss? Ändern Sie unseren Routing-Code:
Route::get('/home', function () { return view('home', ['name' => '张三']); });
<html> <body> [<?php echo $name; ?>],您好! </body> </html>
Ändern Sie den Routing-Code im obigen Beispiel wie folgt:
Sie können die Seite bei einem erneuten Besuch weiterhin normal öffnen.
Route::get('/home', function () { return view('public.demo.home', ['name' => '张三']); });
Öffnen Sie den Browser, um darauf zuzugreifen: http://localhost:801/user/jack
Route::get('user/{name}', function($name) { return '用户姓名:'.$name; });
Was ist, wenn es zwei Parameter gibt? Ändern Sie den Routing-Code:
Öffnen Sie den Browser und besuchen Sie: http://localhost:801/user/jack/23
Route::get('user/{name}/{age}', function($name,$age) { return '用户姓名:'.$name.',年龄:'.$age; });
Zugriffsadresse: http://localhost:801/user/jack
Route::get('user/{name}/{age?}', function($name,$age=null) { return '用户姓名:'.$name.',年龄:'.$age; });
2.4 Routing-Parameter Einschränkungen
Unter normalen Umständen gelten für einige Parameter, auf die Benutzer zugreifen, bestimmte Regeln. Beispielsweise kann die Benutzer-ID beim Lesen von Benutzerinformationen eine Zahl sein und die Nachrichten-ID beim Ändern von Nachrichteninformationen sei Ist es eine GUID und so weiter?Ändern Sie die Datei „routes.php“ und fügen Sie den folgenden Code hinzu:
Öffnen Sie den Browser, um auf http://localhost:801/new zuzugreifen /3 Ja So:
Route::get('new/{id}', function($id) { return '新闻ID:'.$id; })->where('id', '[0-9]+');
Der Zugriffseffekt wird hier nicht demonstriert.
Route::get('new/{id}/{title}', function($id,$title) { return '新闻ID:'.$id.',新闻标题:'.$title; })->where(['id' => '[0-9]+', 'title' => '[a-z]+']);
public function boot(Router $router) { // $router->pattern('id', '[0-9]+'); parent::boot($router); }
Zugriffseffekt und die obiges Beispiel Es ist dasselbe, es wird hier nicht demonstriert.
Route::get('new/{id}', function($id) { return '新闻ID:'.$id; });
Sie können Routing-Parameter in der Datei „routes.php“ abrufen, um den Routing-Code im obigen Beispiel zu ändern:
Route::get('new/{id}', function(Request $request, $id) { if ($request->route('id') == '2') { return '新闻ID是2'; }else{ return '新闻ID不是2,值是:'.$id; } });
Fügen Sie eine neue Zeile nach
use Illuminate\Http\Request;
Routing hat noch viele komplexe Funktionen, die untersucht werden müssen.
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt Laravel 514 Bootstrap 334 vor. Hinweis 2: Laravel-Routing, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.