Cara melaksanakan sokongan berbilang bahasa berasaskan kebenaran dalam Laravel
Pengenalan:
Dalam laman web dan aplikasi moden sokongan adalah keperluan yang sangat biasa. Untuk sesetengah sistem yang kompleks, kami juga mungkin perlu memaparkan terjemahan bahasa yang berbeza secara dinamik berdasarkan kebenaran pengguna. Laravel ialah rangka kerja PHP yang sangat popular yang menyediakan banyak ciri berkuasa untuk memudahkan proses pembangunan. Artikel ini akan memperkenalkan cara melaksanakan sokongan berbilang bahasa berasaskan kebenaran dalam Laravel dan memberikan contoh kod khusus.
Langkah 1: Konfigurasikan sokongan berbilang bahasa
Pertama, kita perlu mengkonfigurasi sokongan berbilang bahasa dalam Laravel. Buka fail config/app.php, cari medan 'locale' dan tetapkannya kepada bahasa lalai. Bahasa ini akan menjadi bahasa asas aplikasi kami.
Seterusnya, cari medan 'locales' dalam fail config/app.php dan tetapkannya kepada senarai bahasa yang disokong. Contohnya, kita boleh menetapkannya kepada bahasa Inggeris dan Perancis:
'locales' => [
'en', 'fr'
],
Kemudian, kita perlukan untuk menambahnya dalam sumber Cipta fail bahasa yang sepadan dalam direktori /lang. Laravel akan memuatkan fail bahasa yang sepadan secara automatik berdasarkan tempat semasa.
Langkah 2: Buat jadual kawalan kebenaran
Untuk melaksanakan paparan bahasa berasaskan kebenaran, kita perlu mencipta jadual kawalan kebenaran. Kita boleh mencipta jadual bernama kebenaran dalam pangkalan data untuk menyimpan pengecam bahasa yang sepadan dengan kebenaran yang berbeza.
Pertama, gunakan alat migrasi Laravel untuk menjana fail migrasi dan laksanakan arahan berikut:
php artisan make:migration create_permissions_table --create=permissions#🎜🎜🎜 🎜 #Kemudian, buka fail migrasi yang dijana dan ubah suai kod kepada yang berikut:
use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;use IlluminateDatabaseMigrationsMigration;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigration; 🎜🎜# class CreatePermissionsTable memanjangkan Migrasi
/** * Run the migrations. * * @return void */ public function up() { Schema::create('permissions', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('key'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('permissions'); }
Jalankan arahan migrasi untuk mencipta struktur jadual:
#🎜🎜🎜##🎜🎜🎜 🎜## 🎜🎜#Langkah 3: Konfigurasikan terjemahan bahasa kebenaranKami perlu menambah kandungan terjemahan berkaitan kebenaran dalam fail bahasa. Buka fail bahasa yang sepadan dalam direktori sumber/lang dan buat fail bernama permissions.php. Kemudian, tambahkan kod berikut pada fail permissions.php: return ['admin' => 'Admin', 'user' => 'User', 'guest' => 'Guest',
'admin', 'pengguna' dan 'tetamu' di sini ialah pengecam bahasa yang sepadan dengan kebenaran berbeza, yang boleh dilaraskan mengikut keperluan sebenar.
Langkah 4: Tulis fungsi terjemahan bahasa kebenaran
Seterusnya, kita perlu menulis fungsi dalam aplikasi untuk mendapatkan terjemahan bahasa yang sepadan berdasarkan kebenaran pengguna.
Buka direktori apl/Helpers Jika direktori itu tidak wujud, anda boleh menciptanya sendiri.
Buat fail bernama LanguageHelper.php dalam direktori Helpers dan tambahkan kod berikut:
namespace AppHelpers;# 🎜 🎜#
use IlluminateSupportFacadesAuth;class LanguageHelper{
public static function getPermissionTranslation($key) { $permissions = [ 'admin' => __('permissions.admin'), 'user' => __('permissions.user'), 'guest' => __('permissions.guest'), ]; $user = Auth::user(); $role = $user->role->key; if (array_key_exists($role, $permissions)) { return $permissions[$role]; } return ''; }
}#🎜🎜🎜#class LanguageHelper
{rrreee
}#🎜🎜🎜 digunakan di sini Peranan pengguna mendapatkan terjemahan bahasa untuk kebenaran yang sepadan.
Langkah 5: Gunakan terjemahan bahasa kebenaran dalam paparan
Akhir sekali, kita boleh menggunakan terjemahan bahasa kebenaran dalam paparan. Buka fail paparan dan tambah kod berikut:
{{ AppHelpersLanguageHelper::getPermissionTranslation(Auth::user()->role->key) }}
> ;# 🎜🎜#The Auth::user()->role->key di sini ialah kunci untuk mendapatkan peranan pengguna semasa dan mendapatkan terjemahan kebenaran yang sepadan melalui LanguageHelper. Kesimpulan: Melalui langkah di atas, kami berjaya melaksanakan sokongan berbilang bahasa berasaskan kebenaran. Apabila kebenaran pengguna berubah, terjemahan bahasa pada halaman dimuat semula dengan sewajarnya. Laravel menyediakan banyak fungsi dan alatan yang berkuasa untuk membantu kami mencapai pelbagai keperluan dengan lebih mudah. Saya harap artikel ini akan membantu anda dalam melaksanakan sokongan berbilang bahasa berasaskan kebenaran dalam Laravel, dan saya harap anda boleh menulis aplikasi yang lebih baik.Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sokongan berbilang bahasa berasaskan kebenaran dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!