Le chemin est un moyen de créer une URL de demande pour votre application. Ces URL n'ont pas besoin d'être associées à des fichiers spécifiques sur un site Web et sont lisibles par l'homme et conviviales pour le référencement.
Dans Laravel, les chemins sont créés dans le dossier le routes
. Ils sont créés dans le fichier web.php
pour les sites Web, et dans api.php
pour les API.
Ces route
sont affectés au groupe middleware
réseau, mettant en évidence l'état de la session et la sécurité CSRF
. Les parcours en route/api.php
ils sont sans état et sont affectés au groupe d'intergiciels d'API.
La pré-installationdefiLaravel nita est livré avec deux chemins, un pour le Web et un pour l'API. Voici à quoi ressemble le chemin d'accès au Web dans web.php
:
Route::get('/', function () {
return view('welcome');
});
Tous les chemins de Laravel sont definiti dans les fichiers de chemin situés dans le répertoire routes
. L'application de gestion des tournées, defifini dans le dossier App\Providers\RouteServiceProvider
, se charge d'aligner automatiquement ces fichiers. Le fichier route/web.php
definie les chemins de votre interface Web.
Vous pouvez defiTerminez un chemin pour cette action de contrôleur comme suit :
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: la méthode Route::resource
produit tous les chemins de base requis pour une application et est géré via la classe contrôleur.
Lorsqu'une requête correspond à l'URI de route spécifié, la méthode est invoquée show
defiterminé dans le contrôleur App\Http\ControllersUserController
, en transmettant les paramètres de route à la méthode.
Pour les ressources, vous devez faire deux choses sur l'application Laravel. Tout d'abord, vous devez créer un chemin de ressource sur Laravel qui fournit des chemins d'insertion, de mise à jour, d'affichage et de suppression. Deuxièmement, créez un contrôleur de ressources qui fournit une méthode d'insertion, de mise à jour, d'affichage et de suppression.
La pré-installationdefiLaravel nita est livré avec deux chemins : un pour le Web et un pour l'API. Voici à quoi ressemble la route vers le Web dans web.php :
Route::get(‘/’, function () {
return view(‘welcome’);
});
Intergiciel Laravel agit comme un pont entre la demande et la réaction. Il peut s'agir d'une sorte de composant de filtre.
Laravel travailler avec un middleware qui a pour tâche de confirmer si l'application cliente est vérifiée ou non. Dans le cas où le client est confirmé, alors le routage redirige vers la page d'accueil ou une page de connexion.
route
Le code précédent defitermine un chemin vers la page d'accueil. Chaque fois que ce chemin reçoit une demande get
/ /
, renverra le view
welcome
.
Tous les chemins de Laravel sont definiti dans votre routing
, qui se trouvent dans le répertoire dei routes
. Par conséquent, l'AppProvidersRouteServiceProvider
de l'application aligne ces enregistrements. Le fichier route/web.php
contient les routes gérées pour votre interface Web.
La structure du chemin est très simple. Ouvrez le fichier approprié (`web.php
` o `api.php
` ) et commencez la ligne de code avec `Route:: `
, suivi de la requête que vous souhaitez affecter à cette route spécifique, puis spécifiez la fonction qui sera exécutée suite à la requête.
Laravel propose les méthodes de chemin suivantes :
get
post
put
delete
patch
options
Les chemins sont definié dans Laravel dans la classe Route avec HTTP, la route à laquelle répondre et la fermeture, ou le contrôleur.
Voyons comment vous pouvez créer vos propres chemins dans Laravel.
Maintenant, je vais créer un chemin de base qui imprimera la table de multiplication de 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Dans le code ci-dessus, j'ai créé un chemin de requête GET pour l'URL /table
, qui imprimera la table de multiplication de 2 à l'écran.
Voyons maintenant le même code, en paramétrant le nombre dont on veut la table de multiplication :
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Dans le code le 'number
' entre accolades représente le paramètre, c'est-à-dire le nombre pour lequel la table de multiplication sera calculée. Chaque fois qu'une URL du type est spécifiée /table/n
, alors la table des nombres sera imprimée n
.
Il existe également un moyen de combiner les deux fonctionnalités dans un seul chemin. Laravel propose la fonction de paramètres optionnels qui vous permet d'ajouter des paramètres optionnels à l'aide du point d'interrogation '?' après le paramètre optionnel et la valeur predefinuit. Voyons l'exemple :
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Dans le code ci-dessus, nous avons créé notre paramètre route, rendant le nombre facultatif, donc si un utilisateur route `/table
` alors il générera la table de 2 par défautdefinite et si un utilisateur route vers `/table/{number}
Puis la table des nombres 'number'
seront produits.
Dans l'exemple précédent, nous avons créé un chemin pour générer la table de multiplication, mais comment s'assurer que le paramètre du chemin est bien un nombre, pour éviter les erreurs lors de la génération de la table de multiplication ?
Dans Laravel, vous pouvez defiterminer une contrainte sur le paramètre route en utilisant la méthode `where
` sur l'instance de route. Le `where
` prend le nom du paramètre et une expression régulière pour ce paramètre.
Voyons maintenant un exemple de contrainte pour notre paramètre `{numero}
` pour s'assurer que seul un nombre est passé à la fonction.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
Dans le code ci-dessus, nous avons utilisé une expression régulière pour le numéro de chemin. Maintenant, si un utilisateur essaie d'acheminer vers /table/non sera affiché une exception NotFoundHttpException.
Dans Laravel, vous pouvez defiTerminez une méthode Controller pour un chemin. Une méthode de contrôleur effectue toutes les actions defifini chaque fois qu'un utilisateur accède à la route.
Avec le code suivant, nous attribuons la méthode du contrôleur 'functionname'
à un itinéraire :
Route:: get ( '/home' , 'YourController@functionname' ) ;
Le code commence par `Route::`
puis defitermine la méthode de requête pour le chemin. Ensuite, defiTerminez votre chemin et votre contrôleur avec la méthode en ajoutant le symbole @ avant le nom de la méthode.
Dans Laravel, vous pouvez definissez un nom pour votre chemin. Ce nom est souvent très utile. Par exemple, si vous souhaitez rediriger un utilisateur d'un emplacement à un autre, vous n'avez pas à defiTerminez l'URL de redirection complète. Vous pouvez simplement donner son nom. Tu peux defiterminer le nom de la route en utilisant la méthode `name
` dans l'instance de route.
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
})->where('number', '[0-9]+')->name(‘table’);
Maintenant, je pourrais régénérer l'URL de ce chemin, via le code suivant :
$url = route('table');
De même, pour rediriger vers cette URL, la syntaxe correcte serait :
return redirect()->route('table');
Route Groups
I Route Groups
, littéralement groupes de chemins, est une fonctionnalité essentielle de Laravel, qui vous permet de regrouper des chemins. Les groupes de chemins sont utiles lorsque vous souhaitez appliquer des attributs à tous les chemins groupés. Si vous utilisez des groupes de chemins, vous n'avez pas besoin d'appliquer les attributs individuellement à chaque chemin ; cela évite les doublons. Il vous permet de partager des attributs comme middleware
o namespaces
sans defiterminez ces attributs sur chaque chemin individuel. Ces attributs partagés peuvent être passés dans un format de tableau en tant que premier paramètre de la méthode Route::group
.
Syntaxe d'un groupe de routes
Route::group([], callback);
où [ ] : est un tableau passé à la méthode group comme premier paramètre.
Exemple de Route Group
Nous avons mis en place un contrôle de gestion innovatif et une stratégie d'achat centralisée, basée sur l'utilisation d’un software sur une plate-forme online,obtenant en moins de deux mois de baisser le food cost de XNUMX% à XNUMX% pour s’établir en moins d'un an, à XNUMX% sur le prix de vente moyen des repas. web.php
Route::group([], function()
{
Route::get('/first' , function()
{
echo "first way route" ;
});
Route::get('/second' , function()
{
echo "second way route" ;
});
Route::get('/third' , function()
{
echo "third way route" ;
});
});
Dans le code, defitrouvons la méthode grouper(), qui contient les deux paramètres, c'est-à-dire array
e closure
. À l'intérieur de closure
, Nous pouvons defiterminer combien route
nous voulons. Dans le code ci-dessus, nous avons defifini trois route
.
Si via le navigateur, nous accédons à l'URL localhost/myproject/first
puis le premier intervient route
taper dans le navigateur first way route
.
Avec l'url localhost/myproject/second
vient ensuite la seconde route
taper dans le navigateur second way route
.
Alors qu'avec l'URL localhost/myproject/third
vient ensuite le troisième route
taper dans le navigateur third way route
.
Route Groups
Les préfixes de route
ils sont utilisés lorsque nous voulons fournir une structure d'URL commune à plusieurs route
.
Nous pouvons spécifier le préfixe pour tous les chemins definites au sein du groupe à l'aide de l'option de tableau de préfixes dans Route Groups
.
Exemple de web.php
Route::group(['prefix' => 'movie'], function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
Le code contient trois chemins accessibles à partir des URL suivantes :
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Nous pouvons également attribuer un middleware à toutes les routes d'un groupe. Le middleware doit être defiterminé avant de créer le groupe. Pour savoir comment procéder, lisez notre article Intergiciel Laravel comment ça marche.
exemple:
Route::middleware(['age'])->group( function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
La méthode name
est utilisé pour préfixer chaque nom de route
avec une chaîne spécifiée. Dans la méthode name
, nous devons spécifier la chaîne avec un caractère de fin dans le préfixe.
Exemple web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Une opération d'ophtalmoplastie à l'aide de la visionneuse commerciale Apple Vision Pro a été réalisée à la polyclinique de Catane…
Développer la motricité fine grâce au coloriage prépare les enfants à des compétences plus complexes comme l’écriture. Colorier…
Le secteur naval est une véritable puissance économique mondiale, qui a navigué vers un marché de 150 milliards...
Lundi dernier, le Financial Times a annoncé un accord avec OpenAI. FT autorise son journalisme de classe mondiale…