Maison > cadre php > Laravel > le corps du texte

Conférence Laravel 4 : Dénomination des routes et regroupement des routes

齐天大圣
Libérer: 2020-12-10 09:10:47
original
2454 Les gens l'ont consulté

Nom d'itinéraire

Le nom d'itinéraire permet au programme d'obtenir facilement des informations de routage. Après avoir obtenu ces informations, il peut rediriger ou effectuer d'autres opérations. Les commandes de routage sont implémentées via la méthode name. Ensuite, nommons une route :

Route::get('about', function () {})->name('index.about');
Copier après la connexion

Après avoir nommé une route, vous pouvez obtenir l'URL de la route via la fonction d'assistance route.

$url = route('index.about');
echo $url;  // http://localhost:8000/about
Copier après la connexion

Si nous ne voulons pas la partie avant du nom de domaine, mais seulement le chemin arrière, alors nous pouvons le faire

$url = route('index.about', [], false);
echo $url;  // /about
Copier après la connexion

Si vous définissez un itinéraire avec des paramètres, vous pouvez utiliser le paramètres comme fonction de route Le deuxième paramètre est passé dans

Route::get('news/{id}', 'IndexController@news')->name('home.news');

...
return redirect()->route('home.news', ['id' => 23]);
Copier après la connexion

Le deuxième élément du tableau de paramètres dans la fonction de route peut automatiquement correspondre aux paramètres de routage si le deuxième élément du tableau de paramètres dans la fonction de route est supérieur aux paramètres. défini par l'itinéraire, il effectuera un épissage automatique pour générer une URL

echo route('home.news', ['id' => 23, 'page' => 3, 'page_num' => 20]);
// http://localhost:8000/news/23?page=3&page_num=20
Copier après la connexion

Regroupement d'itinéraires

Le rôle du regroupement d'itinéraires est lorsque le système a défini de nombreuses routes, mais certaines routes ont Si vous avez des points communs, tels que le même préfixe d'espace de noms ou le même préfixe de chemin, vous pouvez regrouper les routes qui ont des points communs dans une seule route, ce qui facilite la gestion et réduit le nombre de routes. de code, et le code a l'air bien. Plus élégant.

Préfixe d'itinéraire

Nous mettons les itinéraires avec le même préfixe dans un groupe. Ci-dessous se trouvent deux itinéraires avec le même préfixe :

Route::prefix('index')->get('a', function () {
    return 'a'; // 匹配/index/a
});

Route::prefix('index')->get('b', function () {
    return 'b'; // 匹配/index/b
});
Copier après la connexion

Maintenant, nous les mettons dans un groupe

Route::prefix('index')->group(function ()
{
    Route::get('a', function () {
        return 'a'; // 匹配/index/a
    });
    Route::get('b', function () {
        return 'b'; // 匹配/index/b
    });
});
Copier après la connexion

En plus d'utiliser la méthode du préfixe, vous pouvez également utiliser le premier paramètre de la méthode de groupe paramètres, comme suit :

Route::group(['prefix' => 'index'], function ()
{
    Route::get('a', function () {
        return 'a'; // 匹配/index/a
    });
    Route::get('b', function () {
        return 'b'; // 匹配/index/b
    });
});
Copier après la connexion

Espace de noms

L'espace de noms est également un groupe de routage fréquemment utilisé.

Route::group(['namespace' => 'Home'], function ()
{
    Route::get('home/index', 'IndexController@index');
});
Copier après la connexion

Si le code ci-dessus ne définit pas d'espace de noms, la route ci-dessus sera

Route::get('home/index', 'Home\IndexController@index');
Copier après la connexion

nom de sous-domaine

utilisé Définissez le nom de domaine accessible. S'il ne s'agit pas de ce nom de domaine, il n'est pas accessible même si le chemin est correct.

Route::domain('php.cn')->group(...)
Copier après la connexion

Préfixe de nom

La méthode de nom peut ajouter un préfixe donné

Route::name('abc.')->group( function ()
{
    Route::get('home', function () {

    })->name('home');
});

……
$url = route('abc.home');
Copier après la connexion
à l'itinéraire dans chaque groupe d'itinéraires

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!