Routenbenennung
Routenbenennung dient dazu, dass das Programm problemlos Routinginformationen abrufen kann. Mit diesen Informationen können Sie umleiten oder andere Vorgänge ausführen. Routing-Befehle werden über die Namensmethode implementiert. Als nächstes benennen wir eine Route:
Route::get('about', function () {})->name('index.about');
Nachdem Sie eine Route benannt haben, können Sie die URL der Route über die Assistentenfunktion Route abrufen.
$url = route('index.about'); echo $url; // http://localhost:8000/about
Wenn wir nicht den vorderen Teil des Domainnamens wollen, sondern nur den hinteren Pfad, dann können wir das tun
$url = route('index.about', [], false); echo $url; // /about
Wenn wir eine Route mit Parametern definieren, können wir die Parameter als zweiten Parameter des übergeben Routenfunktion
Route::get('news/{id}', 'IndexController@news')->name('home.news'); ... return redirect()->route('home.news', ['id' => 23]);
Das zweite Parameter-Array-Element in der Routen-Funktion kann automatisch den Routing-Parametern entsprechen. Wenn das zweite Parameter-Array-Element in der Routen-Funktion mehr als die von der Route festgelegten Parameter hat, wird die URL automatisch gespleißt um die URL zu generieren
echo route('home.news', ['id' => 23, 'page' => 3, 'page_num' => 20]); // http://localhost:8000/news/23?page=3&page_num=20
Routengruppierung
Die Rolle der Routengruppierung besteht darin, dass, wenn das System viele Routen eingerichtet hat, aber festgestellt wird, dass einige Routen etwas gemeinsam haben, z. B. dasselbe Namespace-Präfix, oder das gleiche Pfadpräfix, dann können Sie die Routen gruppieren, die etwas gemeinsam haben. Das Zusammenfassen dieser Routen in einer Route erleichtert die Verwaltung und reduziert die Codemenge, und der Code sieht eleganter aus.
Routenpräfix
Wir fassen Routen mit demselben Präfix in einer Gruppe zusammen. Unten sind zwei Routen mit demselben Präfix:
Route::prefix('index')->get('a', function () { return 'a'; // 匹配/index/a }); Route::prefix('index')->get('b', function () { return 'b'; // 匹配/index/b });
Jetzt ordnen wir sie einer Gruppe zu
Route::prefix('index')->group(function () { Route::get('a', function () { return 'a'; // 匹配/index/a }); Route::get('b', function () { return 'b'; // 匹配/index/b }); });
Zusätzlich zur Verwendung der Präfixmethode können Sie sie auch im ersten Parameter der Gruppenmethode festlegen, wie unten gezeigt:
Route::group(['prefix' => 'index'], function () { Route::get('a', function () { return 'a'; // 匹配/index/a }); Route::get('b', function () { return 'b'; // 匹配/index/b }); });
Namespace
Namespace ist auch eine häufig verwendete Routing-Gruppierung.
Route::group(['namespace' => 'Home'], function () { Route::get('home/index', 'IndexController@index'); });
Wenn der obige Code keinen Namespace festlegt, wird die obige Route
Route::get('home/index', 'Home\IndexController@index');
Subdomainname
verwendet, um festzulegen, auf welchen Domainnamen zugegriffen werden kann auch wenn der Pfad korrekt ist.
Route::domain('php.cn')->group(...)
Namenspräfix
Die Namensmethode kann der Route in jeder Routengruppe ein bestimmtes Präfix hinzufügen
Route::name('abc.')->group( function () { Route::get('home', function () { })->name('home'); }); …… $url = route('abc.home');
Das obige ist der detaillierte Inhalt vonLaravel-Vorlesung 4: Routenbenennung und Routengruppierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!