Heim > PHP-Framework > Laravel > Laravel-Vorlesung 4: Routenbenennung und Routengruppierung

Laravel-Vorlesung 4: Routenbenennung und Routengruppierung

齐天大圣
Freigeben: 2020-12-10 09:10:47
Original
2488 Leute haben es durchsucht

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

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

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

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

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

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

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

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

Namespace

Namespace ist auch eine häufig verwendete Routing-Gruppierung.

Route::group(['namespace' => 'Home'], function ()
{
    Route::get('home/index', 'IndexController@index');
});
Nach dem Login kopieren

Wenn der obige Code keinen Namespace festlegt, wird die obige Route

Route::get('home/index', 'Home\IndexController@index');
Nach dem Login kopieren

Subdomainname

verwendet, um festzulegen, auf welchen Domainnamen zugegriffen werden kann auch wenn der Pfad korrekt ist.

Route::domain('php.cn')->group(...)
Nach dem Login kopieren

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

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!

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