Maison > cadre php > Laravel > le corps du texte

Comment implémenter la fonction de saut de page avec des paramètres dans Laravel

PHPz
Libérer: 2023-04-19 10:54:55
original
1339 Les gens l'ont consulté

Dans le framework Laravel, passer à une page est une opération très courante. Parfois, il est nécessaire d'apporter certains paramètres lors du saut, comme les mots-clés de recherche, le nombre de pages, etc. À ce stade, vous devez implémenter la fonction permettant d'accéder à la page avec les paramètres. Cet article expliquera comment implémenter la fonction de saut de page avec des paramètres et réaliser le passage de paramètres sans redirection.

1. Saut de base

Dans le framework Laravel, il existe deux façons de sauter, l'une consiste à utiliser la fonction de redirection et l'autre à utiliser la fonction d'affichage. La fonction de redirection est utilisée pour accéder à d'autres méthodes de contrôleur et la fonction d'affichage est utilisée pour accéder au fichier d'affichage.

En utilisant la fonction de redirection, vous pouvez écrire comme ceci :

return redirect()->action(
    '[控制器名称]@[方法名称]'
);
Copier après la connexion

En utilisant la fonction view, vous pouvez écrire comme ceci :

return view('[视图文件路径]', [参数数组]);
Copier après la connexion

Les deux méthodes ne transmettent pas de paramètres Si vous devez transmettre des paramètres, nous devons utiliser ce qui suit. méthode.

2. Sauter avec les paramètres

2.1. Utiliser le middleware

Laravel fournit une fonction middleware très pratique Nous pouvons utiliser le middleware pour transmettre des paramètres à la requête suivante.

Nous pouvons créer un nouveau middleware, enregistrer les paramètres dans le middleware, puis récupérer ces paramètres lors de la prochaine requête. Le code du middleware est le suivant :

<?php

namespace App\Http\Middleware;

use Closure;

class ParamsMiddleware
{
    public function handle($request, Closure $next)
    {
        $params = [
            &#39;param1&#39; => 'value1',
            'param2' => 'value2',
            'param3' => 'value3',
        ];
        
        $request->session()->put('params', $params);
        
        return $next($request);
    }
}
Copier après la connexion

Enregistrez les paramètres dans la session puis récupérez-les lors de la prochaine requête.

$params = $request->session()->get('params');
Copier après la connexion

Nous pouvons enregistrer le middleware dans le fichier web.php et ajouter le middleware à la route.

Route::middleware('params')->get('/', '[控制器名称]@[方法名称]');
Copier après la connexion

L'inconvénient de cette méthode est qu'elle nécessite l'utilisation d'une session. Si la session n'est pas activée, elle ne peut pas être utilisée.

2.2. Utilisation des paramètres d'URL

Nous pouvons également utiliser les paramètres d'URL pour transmettre des paramètres à la page suivante.

Lors du saut, nous pouvons utiliser la fonction itinéraire pour spécifier l'itinéraire, puis définir les paramètres de l'itinéraire.

Code de saut :

return redirect()->route('[路由名称]', ['param1' => 'value1', 'param2' => 'value2']);
Copier après la connexion

Code d'itinéraire :

Route::get('/', '[控制器名称]@[方法名称]')->name('[路由名称]');
Copier après la connexion

Dans le contrôleur, nous pouvons utiliser l'objet request pour obtenir les paramètres de l'URL.

$request->input('param1');
Copier après la connexion

L'inconvénient de cette méthode est que les paramètres de l'URL seront affichés dans la barre d'adresse de l'URL, ce qui peut causer des problèmes à l'utilisateur.

2.3. Utilisation des paramètres de redirection

Laravel fournit une autre méthode pour transmettre des paramètres sans redirection. Examinons d'abord le code, puis expliquons-le.

return redirect()->to('/')->with('param1', 'value1')->with('param2', 'value2');
Copier après la connexion

Lors de la redirection, nous pouvons utiliser la fonction with pour enregistrer les paramètres dans la session. De cette façon, les paramètres pourront être utilisés lors de la prochaine requête.

Dans le contrôleur, nous pouvons obtenir les paramètres comme celui-ci.

$request->session()->get('param1');
$request->session()->get('param2');
Copier après la connexion

Cette méthode permet de transmettre des paramètres sans redirection et évite également l'interférence des paramètres d'URL avec les utilisateurs.

Résumé

Dans Laravel, il existe de nombreuses façons d'implémenter la fonction de saut de page avec des paramètres. Vous pouvez utiliser un middleware, des paramètres d'URL ou des paramètres de redirection. Différentes méthodes présentent différents avantages et inconvénients, et nous devons choisir la méthode la plus appropriée en fonction des besoins réels.

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!

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