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

Laravel 514 Bootstrap 334 Hinweis 2: Laravel-Routing

WBOY
WBOYOriginal
2016-07-30 13:31:50980Durchsuche

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

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');
});
Öffnen Sie den Browser und greifen Sie auf Folgendes zu: http://localhost:801/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:

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

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' => '张三']);
});
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;
});

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


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

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


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

Fügen Sie eine neue Zeile nach

use Illuminate\Http\Request;
Ö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.

Stellungnahme:
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