Dalam aplikasi Laravel, memproses kandungan teks dalam bahasa dan wilayah yang berbeza adalah fungsi yang sangat penting. Secara lalai, Laravel menentukan tempat lalai aplikasi menggunakan pilihan tempat dalam fail konfigurasi config/app.php. Walau bagaimanapun, dalam beberapa kes, kami mungkin perlu menukar tempat aplikasi secara dinamik semasa masa jalan. Artikel ini akan menerangkan cara menukar tempat aplikasi anda secara dinamik dalam Laravel.
Pertama, kita perlu mencipta laluan untuk mengendalikan perubahan setempat. Dalam Laravel, kita boleh melakukan ini menggunakan blok kod penghalaan berikut:
Route::get('language/{locale}', function ($locale) { session(['locale' => $locale]); return redirect()->back(); });
Blok kod di atas akan mencipta laluan bernama "bahasa" yang mengandungi parameter bernama "locale". Apabila laluan sepadan, kami menyimpan tempat yang dipilih pengguna dalam sesi dan mengubah hala pengguna kembali ke halaman sebelumnya.
Seterusnya, kita perlu mencipta perisian tengah untuk memastikan aplikasi berjalan dengan betul di tempat yang berbeza. Dalam Laravel, kita boleh mencipta perisian tengah yang dipanggil "LocaleMiddleware" menggunakan blok kod berikut:
<?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); } }
Dalam blok kod di atas, kami menggunakan Fasad Sesi untuk mendapatkan tempat yang dipilih oleh pengguna, jika ia tidak ditetapkan dalam tempat sesi, gunakan tempat lalai dalam fail konfigurasi config/app.php. Setelah kami menentukan tempattempat, kami secara dinamik menetapkan tempattempat semasa dalam aplikasi.
Seterusnya, kita perlu menambah middleware pada aplikasi Laravel untuk memastikan ia digunakan dengan sewajarnya dalam saluran permintaan. Kami boleh menambah perisian tengah pada aplikasi Laravel kami menggunakan langkah berikut:
'locale' => \App\Http\Middleware\LocaleMiddleware::class,
Route::get('/', function () { return view('welcome'); })->middleware(['locale']);
Ini akan memastikan bahawa dalam laluan ini, perisian tengah akan digunakan untuk menetapkan setempat pada masa jalan.
Sekarang kita mempunyai laluan yang disediakan untuk mengendalikan perubahan setempat dan perisian tengah untuk memastikan tempat yang betul digunakan sepanjang aplikasi, kemudian Bagaimana kita menguji permohonan?
Dalam artikel ini, kami membincangkan cara menukar tempat aplikasi secara dinamik dalam Laravel. Dengan menyediakan penghalaan dan perisian tengah untuk mengendalikan perubahan tempat, kami memastikan bahawa tempat yang dipilih digunakan dengan betul sepanjang aplikasi. Ini adalah ciri yang sangat berguna yang membantu anda mengautomasikan penyetempatan tapak anda berdasarkan keutamaan pengguna tertentu, dengan itu meningkatkan pengalaman pengguna.
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai tempat secara dinamik dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!