Heim > Backend-Entwicklung > PHP-Tutorial > Laravel 514 Bootstrap 334 Hinweis 2: Laravel-Routing

Laravel 514 Bootstrap 334 Hinweis 2: Laravel-Routing

WBOY
Freigeben: 2016-07-30 13:31:50
Original
979 Leute haben es durchsucht

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

In Laravel 5.1.4 ist die Routing-Konfigurationsdatei app/Http/routes.php.

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';
});
Nach dem Login kopieren

2.2 Route zur Rückgabe der Ansicht

Fügen Sie den folgenden Codeausschnitt zum obigen Code hinzu:

Erstellen Sie eine Ansichtsdatei: home.php im Verzeichnis resources/views mit folgendem Inhalt:
Route::get('/home', function () {
    return view('home');
});
Nach dem Login kopieren
Öffnen Sie den Browser und greifen Sie auf Folgendes zu: http://localhost:801/home
<html>
<body>
<h1>home</h1>
</body>
</html>
Nach dem Login kopieren


Wenn der Code in der obiges Beispiel Was soll ich tun, wenn ich Parameter an die Ansichtsseite übergeben muss? Ändern Sie unseren Routing-Code:

Ändern Sie den Ansichtscode:
Route::get('/home', function () {
    return view('home', ['name' => '张三']);
});
Nach dem Login kopieren
Schauen Sie sich die Wirkung des Besuchs an:
<html>
<body>
[<?php echo $name; ?>],您好!
</body>
</html>
Nach dem Login kopieren

Wenn zu viele Ansichten vorhanden sind, werden diese normalerweise nach Modulen oder sogar Funktionen gespeichert. Erstellen Sie neue Verzeichnisse im Ressourcen-/Ansichtsverzeichnis : public /demo und verschieben Sie dann home.php in dieses Verzeichnis.

Ä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' => '张三']);
});
Nach dem Login kopieren
2.3 Routing-Parameter

Wie oben erwähnt, kann das Routing mit den Anforderungsparametern des Benutzers übereinstimmen. Wie kann man also übereinstimmen? Hängen Sie das Code-Snippet an die Routing-Datei im obigen Beispiel an:

Öffnen Sie den Browser, um darauf zuzugreifen: http://localhost:801/user/jack
Route::get('user/{name}', function($name) {
    return '用户姓名:'.$name;
});
Nach dem Login kopieren

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;
});
Nach dem Login kopieren


Was ist, wenn der Altersparameter nicht erforderlich ist? Ändern Sie den Routing-Code erneut:

Zugriffsadresse: http://localhost:801/user/jack
Route::get('user/{name}/{age?}', function($name,$age=null) {
    return '用户姓名:'.$name.',年龄:'.$age;
});
Nach dem Login kopieren

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]+');
Nach dem Login kopieren


Wenn Sie auf http://localhost:801/new/abc zugreifen können, existiert die bereitgestellte Seite nicht:


Entsprechend müssen Sie bei der gleichzeitigen Begrenzung mehrerer Parameter den Routing-Code im obigen Beispiel ändern:

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]+']);
Nach dem Login kopieren
Darüber hinaus können wir globale Einschränkungen konfigurieren, die Datei app/Providers/RouteServiceProviders.php öffnen und die Boot-Methode wie folgt ändern:
    public function boot(Router $router)
    {
        //
        $router->pattern('id', '[0-9]+');
        parent::boot($router);
    }
Nach dem Login kopieren
Ändern Sie den Routing-Code im obigen Beispiel wie folgt:

Zugriffseffekt und die obiges Beispiel Es ist dasselbe, es wird hier nicht demonstriert.
Route::get('new/{id}', function($id)
{
    return '新闻ID:'.$id;
});
Nach dem Login kopieren
2.5 Routing-Parameter abrufen

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;
    }
});
Nach dem Login kopieren

Fügen Sie eine neue Zeile nach

use Illuminate\Http\Request;
Nach dem Login kopieren
Öffnen Sie den Browser und besuchen Sie http://localhost:801/new/2 bzw. http://localhost:801 /new/ 3, um verschiedene Seiteneffekte anzuzeigen.

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.

Verwandte Etiketten:
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