Maison >cadre php >Laravel >Comment modifier dynamiquement les paramètres régionaux dans Laravel

Comment modifier dynamiquement les paramètres régionaux dans Laravel

PHPz
PHPzoriginal
2023-04-11 15:06:20943parcourir

Dans les applications Laravel, le traitement du contenu textuel dans différentes langues et régions est une fonctionnalité très importante. Par défaut, Laravel spécifie les paramètres régionaux par défaut de l'application en utilisant l'option locale dans le fichier de configuration config/app.php. Cependant, dans certains cas, nous devrons peut-être modifier dynamiquement les paramètres régionaux de l'application au moment de l'exécution. Cet article expliquera comment modifier dynamiquement les paramètres régionaux de votre application dans Laravel.

Étape 1 : Configurer le routage des paramètres régionaux

Tout d'abord, nous devons créer un itinéraire pour gérer les changements de paramètres régionaux. Dans Laravel, nous pouvons le faire en utilisant le bloc de code de routage suivant :

Route::get('language/{locale}', function ($locale) {
    session(['locale' => $locale]);
    return redirect()->back();
});

Le bloc de code ci-dessus créera une route nommée "langue" qui contient un paramètre nommé "locale". Lorsqu'un itinéraire correspond, nous stockons les paramètres régionaux sélectionnés par l'utilisateur dans la session et redirigeons l'utilisateur vers la page précédente.

Étape 2 : Créer un middleware local

Ensuite, nous devons créer un middleware pour garantir que l'application s'exécute correctement dans différents paramètres régionaux. Dans Laravel, nous pouvons créer un middleware appelé "LocaleMiddleware" en utilisant le bloc de code suivant :

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Session;

class LocaleMiddleware
{
    public function handle($request, Closure $next)
    {
        $locale = Session::get(&#39;locale&#39;, config(&#39;app.locale&#39;));

        App::setLocale($locale);

        return $next($request);
    }
}

Dans le bloc de code ci-dessus, nous utilisons la Session Facade pour obtenir les paramètres régionaux sélectionnés par l'utilisateur, et si les paramètres régionaux ne sont pas définis dans le session, nous utilisons config Les paramètres régionaux par défaut dans le fichier de configuration /app.php. Une fois que nous avons déterminé les paramètres régionaux, nous définissons dynamiquement les paramètres régionaux actuels dans l'application.

Étape 3 : Ajouter le middleware à l'application

Ensuite, nous devons ajouter le middleware à l'application Laravel pour garantir qu'il est utilisé de manière appropriée dans le pipeline de requêtes. Nous pouvons ajouter un middleware à notre application Laravel en suivant les étapes suivantes :

  1. Dans le fichier app/Http/Kernel.php, ajoutez les lignes suivantes au tableau $routeMiddleware :
&#39;locale&#39; => \App\Http\Middleware\LocaleMiddleware::class,
  1. Dans le fichier des routes de l'application, ajoutez le Middleware « locale » vers toutes les routes qui doivent prendre en compte les paramètres régionaux. Par exemple :
Route::get('/', function () {
    return view('welcome');
})->middleware(['locale']);

Cela garantira que dans cet itinéraire, le middleware sera utilisé pour définir les paramètres régionaux au moment de l'exécution.

Étape 4 : Tester l'application

Maintenant que nous avons configuré une route pour gérer les changements de paramètres régionaux et un middleware pour garantir que les paramètres régionaux corrects sont utilisés dans toute l'application, comment pouvons-nous tester l'application ?

  1. Tout d'abord, ouvrez le site Web et sélectionnez une langue dans l'application.
  2. Ensuite, essayez d'accéder à un autre itinéraire ou à une autre page dans l'application et confirmez que le contenu du texte a été mis à jour pour refléter les paramètres régionaux sélectionnés.
  3. Enfin, les paramètres régionaux de l'application peuvent être modifiés via les paramètres d'URL en accédant à la route "/langue/[locale]", garantissant que le contenu du texte après le changement de paramètres régionaux est correctement mis à jour.

Conclusion

Dans cet article, nous avons expliqué comment modifier dynamiquement les paramètres régionaux de votre application dans Laravel. En configurant le routage et le middleware pour gérer les changements de paramètres régionaux, nous garantissons que les paramètres régionaux sélectionnés sont utilisés correctement dans toute l'application. Il s'agit d'une fonctionnalité très utile qui vous aide à automatiser la localisation de votre site en fonction des préférences spécifiques de l'utilisateur, améliorant ainsi l'expérience utilisateur.

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