In Laravel-Anwendungen ist die Verarbeitung von Textinhalten in verschiedenen Sprachen und Regionen eine sehr wichtige Funktion. Standardmäßig gibt Laravel das Standardgebietsschema der Anwendung mithilfe der Option „locale“ in der Konfigurationsdatei config/app.php an. In einigen Fällen müssen wir jedoch möglicherweise das Gebietsschema der Anwendung zur Laufzeit dynamisch ändern. In diesem Artikel wird erläutert, wie Sie das Gebietsschema Ihrer Anwendung in Laravel dynamisch ändern.
Zuerst müssen wir eine Route erstellen, um Gebietsschemaänderungen zu verarbeiten. In Laravel können wir dies mit dem folgenden Routing-Codeblock tun:
Route::get('language/{locale}', function ($locale) { session(['locale' => $locale]); return redirect()->back(); });
Der obige Codeblock erstellt eine Route mit dem Namen „Sprache“, die einen Parameter mit dem Namen „Gebietsschema“ enthält. Wenn eine Route übereinstimmt, speichern wir das ausgewählte Gebietsschema des Benutzers in der Sitzung und leiten den Benutzer zurück zur vorherigen Seite.
Als nächstes müssen wir eine Middleware erstellen, um sicherzustellen, dass die Anwendung in verschiedenen Gebietsschemas korrekt ausgeführt wird. In Laravel können wir mithilfe des folgenden Codeblocks eine Middleware namens „LocaleMiddleware“ erstellen:
<?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('locale', config('app.locale')); App::setLocale($locale); return $next($request); } }
Im obigen Codeblock verwenden wir die Sitzungsfassade, um das vom Benutzer ausgewählte Gebietsschema abzurufen, und wenn das Gebietsschema nicht in festgelegt ist Sitzung verwenden wir config Das Standardgebietsschema in der Konfigurationsdatei /app.php. Sobald wir das Gebietsschema bestimmt haben, legen wir das aktuelle Gebietsschema dynamisch in der Anwendung fest.
Als nächstes müssen wir die Middleware zur Laravel-Anwendung hinzufügen, um sicherzustellen, dass sie in der Anforderungspipeline ordnungsgemäß verwendet wird. Mit den folgenden Schritten können wir Middleware zu unserer Laravel-Anwendung hinzufügen:
'locale' => \App\Http\Middleware\LocaleMiddleware::class,
Route::get('/', function () { return view('welcome'); })->middleware(['locale']);
Dadurch wird sichergestellt, dass innerhalb dieser Route die Middleware verwendet wird, um das Gebietsschema zur Laufzeit festzulegen.
Da wir nun eine Route zur Verarbeitung von Gebietsschemaänderungen und eine Middleware eingerichtet haben, um sicherzustellen, dass in der gesamten Anwendung das richtige Gebietsschema verwendet wird, wie testen wir die Anwendung?
In diesem Artikel haben wir erläutert, wie Sie das Gebietsschema Ihrer Anwendung in Laravel dynamisch ändern können. Durch die Einrichtung von Routing und Middleware zur Verarbeitung von Gebietsschemaänderungen stellen wir sicher, dass das ausgewählte Gebietsschema in der gesamten Anwendung korrekt verwendet wird. Dies ist eine sehr nützliche Funktion, die Ihnen hilft, die Lokalisierung Ihrer Website basierend auf spezifischen Benutzerpräferenzen zu automatisieren und so die Benutzererfahrung zu verbessern.
Das obige ist der detaillierte Inhalt vonSo ändern Sie das Gebietsschema in Laravel dynamisch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!