Les fichiers de routage Laravel se trouvent dans le répertoire "routes". Tous les fichiers de routage dans Laravel sont définis dans le répertoire routes, et le contenu qu'il contient sera automatiquement chargé par le framework ; il y a quatre fichiers de routage par défaut dans ce répertoire pour une utilisation par différentes entrées : web.php, api.php, console. php attends.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version Laravel 6, ordinateur DELL G3.
Il est très pratique de définir simplement un itinéraire dans Laravel, il suffit de passer un URI et une fermeture.
Route::get('foo', function () { return 'Hello World'; })
Toutes les routes de Laravel sont définies dans le répertoire routes, et le contenu de ce répertoire sera automatiquement chargé par le framework. Il existe quatre fichiers de routage par défaut dans le répertoire routes destinés à être utilisés par différentes entrées : web.php, api.php, console.php etchannels.php.
Les routes contenues dans le fichier web.php sont toutes situées dans les contraintes du groupe middleware Web définies par RouteServiceProvider, prenant ainsi en charge les fonctions de session, de protection CSRF et de cryptage des cookies si l'application n'a pas besoin de fournir un style RESTful sans état. API, puis les routes sont essentiellement définies dans le fichier web.php. Les routes contenues dans le fichier
api.php sont dans les contraintes du groupe de middleware API et prennent en charge la fonction de limitation de fréquence. Ces routes sont sans état, donc les demandes entrant dans l'application via ces routes doivent être authentifiées via des jetons et ne peuvent pas. accéder à l’état de session.
Le fichier console.php est utilisé pour définir toutes les commandes de console basées sur la fermeture. Chaque fermeture est liée à une commande de console et permet une interaction avec les méthodes IO de ligne de commande, bien que ce fichier ne définisse pas le routage HTTP, mais il définit le routage HTTP. entrée d'application basée sur la console (routage). Le fichier
channels.php est utilisé pour enregistrer toutes les chaînes de diffusion d'événements prises en charge par l'application.
De nombreux projets sont essentiellement développés en utilisant routes/web.php comme point de départ, ce qui peut permettre de réaliser la nécessité de développer rapidement un projet. Les routes définies dans routes/web.php sont directement accessibles dans le navigateur. Par exemple, saisissez l'adresse http://your-app.dev/user dans le navigateur pour accéder à la route suivante :
Route::get('/user', 'UsersController@index');
Les routes définies dans routes/api.php sont imbriquées dans un groupe de routage, qui est défini dans RouteServiceProvider. Les routes de ce groupe utilisent toutes le préfixe URI /api, vous n'avez donc pas besoin d'ajouter ce préfixe manuellement lorsque vous définissez la route. Si vous ne souhaitez pas utiliser le préfixe /api, vous pouvez le modifier dans RouteServiceProvider.
/** * Define the "api" routes for the application. * * These routes are typically stateless. * * @return void */ protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); }
Méthodes de routage disponibles
Chaque type de requête HTTP a une méthode de routage correspondante disponible :
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
Parfois, un itinéraire doit pouvoir correspondre à plusieurs types de requêtes, auquel cas la méthode de correspondance peut être utilisée.
Route::match(['get', 'post'], '/', function () { // });
Si vous souhaitez qu'une route corresponde à tous les types de requêtes, utilisez la méthode any :
Route::any('foo', function () { // });
Protection CSRF
Utilisez les routes définies par Route::post, Route::put, Route::patch et Route:: delete , exigeant que les formulaires HTML qui y accèdent transmettent un jeton CSRF, sinon la demande sera rejetée. Vous pouvez en savoir plus à ce sujet dans la documentation CSRF.
<form method="POST" action="/profile"> {{ csrf_field() }} ... </form>
Routage de redirection
Si vous souhaitez rediriger un itinéraire vers un autre itinéraire, vous pouvez utiliser la méthode Route::redirect. Cela évite quelques problèmes de définition d'une route complète ou d'un contrôleur pour opérer une simple redirection :
Route::redirect('/here', '/there', 301);
Voir le routage
Si vous souhaitez simplement renvoyer une vue, vous pouvez utiliser la méthode Route::view, similaire à Route : La méthode :redirect évite également quelques problèmes. Le premier paramètre de la méthode view est l'URI et le deuxième paramètre est le nom de la vue. De plus, vous pouvez également utiliser le paramètre facultatif de type troisième tableau pour transmettre des données à la vue :
Route::view('/welcome', 'welcome'); Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
[Recommandations associées : tutoriel vidéo laravel]
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!