Maison >cadre php >Laravel >Comment implémenter le routage Laravel

Comment implémenter le routage Laravel

王林
王林original
2023-05-20 18:55:38764parcourir

Laravel est un framework PHP populaire qui fournit un système de routage facile à utiliser. Le système de routage de Laravel vous permet de définir des méthodes pour différents URI et requêtes HTTP. Dans cet article, nous allons approfondir la mise en œuvre du routage dans Laravel.

  1. Routage de base

La définition de l'itinéraire de base de Laravel est très simple. Nous pouvons utiliser les méthodes get, post, put, delete et autres de la classe Route pour définir des itinéraires.

Par exemple, nous pouvons définir une route GET de base :

Route::get('/hello', function () {
    return 'Hello, Laravel!';
});

La route ci-dessus définit une route de requête GET avec l'URI /hello, renvoyant la chaîne "Bonjour, Laravel !" .

  1. Paramètres de routage

Dans les applications réelles, les itinéraires peuvent avoir des paramètres. Le système de routage de Laravel vous permet de définir ces paramètres. Vous pouvez définir des paramètres dans une route à l'aide de la syntaxe {param}, où param est le nom du paramètre.

Par exemple, nous pouvons définir une route qui accepte des paramètres :

Route::get('/user/{id}', function ($id) {
    return 'User ID: ' . $id;
});

La route ci-dessus définit une route de requête GET qui accepte le paramètre id. Dans la fonction de rappel, nous pouvons utiliser la variable $id pour obtenir les paramètres passés et les renvoyer au navigateur.

  1. Routage des paramètres facultatifs

Le système de routage Laravel vous permet de définir des paramètres de routage optionnels. Ajoutez simplement ? après le nom du paramètre pour marquer le paramètre comme facultatif.

Par exemple, nous pouvons définir une route avec des paramètres facultatifs :

Route::get('/user/{id}/{name?}', function ($id, $name = null) {
    if ($name) {
        return 'User ID: ' . $id . ', Name: ' . $name;
    } else {
        return 'User ID: ' . $id;
    }
});

La route ci-dessus définit une route de requête GET qui accepte les paramètres d'identifiant et de nom facultatifs. Dans la fonction de rappel, nous vérifions si $name existe. S'il existe, nous renvoyons l'identifiant et le nom ensemble. Sinon, seul le paramètre id est renvoyé.

  1. Contraintes d'expression régulière

Parfois, vous devrez peut-être appliquer des contraintes d'expression régulière pour acheminer les paramètres afin de vous assurer qu'ils respectent certaines règles. Dans Laravel, vous pouvez utiliser des expressions régulières pour ce faire.

Par exemple, nous pouvons définir une route avec des contraintes d'expression régulière :

Route::get('/user/{id}/{name}', function ($id, $name) {
    return 'User ID: ' . $id . ', Name: ' . $name;
})->where(['id' => '[0-9]+', 'name' => '[a-zA-Z]+']);

La route ci-dessus définit une route de requête GET avec des paramètres id et name. Dans la fonction de rappel, nous renvoyons ces deux paramètres ensemble. Lors de la définition de l'itinéraire, nous utilisons la méthode Where pour spécifier que le paramètre id doit correspondre à [0-9]+expression régulière et que le paramètre name doit correspondre à [a-zA-Z]+expression régulière.

  1. Routes nommées

Dans Laravel, vous pouvez définir des noms pour les routes, ce qui facilite la définition des URL.

Par exemple, nous pouvons définir une route nommée :

Route::get('/user/profile', function () {
    return 'User Profile';
})->name('profile');

La route ci-dessus définit une route de requête GET et la nomme profil. Lors de la définition d'un itinéraire, nous spécifions le nom à l'aide de la méthode name. Désormais, nous pouvons utiliser ce nom dans le code pour générer des URL.

  1. URL Generator

Le générateur d'URL de Laravel vous permet de générer facilement l'URL de votre application. Vous pouvez utiliser la fonction route pour générer l'URL d'un itinéraire.

Par exemple, nous pouvons utiliser la route nommée ci-dessus pour générer une URL :

$url = route('profile');

Le code ci-dessus générera une URL pointant vers /profile.

  1. Routage du contrôleur

Dans Laravel, vous pouvez également pointer des routes vers des méthodes de contrôleur au lieu de spécifier directement des fonctions de rappel de fermeture. De cette façon, vous pouvez gérer les requêtes de manière centralisée dans votre contrôleur.

Par exemple, nous pouvons définir une route de contrôleur :

Route::get('/user/{id}', 'UserController@show');

La route ci-dessus définit une route de requête GET, qui pointe le paramètre /id vers la méthode show du contrôleur UserController .

  1. Routage RESTful

Le routage RESTful vous permet de définir des points de terminaison d'API RESTful pour votre application. Dans Laravel, vous pouvez définir des routes RESTful à l'aide de la méthode ressource de la classe Route.

Par exemple, nous pouvons définir une route RESTful :

Route::resource('photos', 'PhotoController');

Le code ci-dessus nous fournira la route RESTful par défaut, y compris indexer, créer, stocker, afficher, modifier, méthode de mise à jour et de destruction. Ces méthodes seront utilisées pour gérer les requêtes dans le contrôleur PhotoController.

Résumé

Cet article couvre les bases du routage Laravel. Nous avons découvert le routage de base, les paramètres de routage, les paramètres facultatifs, les contraintes d'expression régulière, le routage nommé, les générateurs d'URL, le routage de contrôleur et le routage RESTful. Le système de routage de Laravel est très puissant et gère facilement diverses requêtes.

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!

Déclaration:
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