Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menghasilkan Fail Bahasa CodeIgniter secara Dinamik daripada Pangkalan Data?

Bagaimana untuk Menghasilkan Fail Bahasa CodeIgniter secara Dinamik daripada Pangkalan Data?

Mary-Kate Olsen
Lepaskan: 2024-10-30 00:32:02
asal
617 orang telah melayarinya

How to Dynamically Generate CodeIgniter Language Files from a Database?

Menyalurkan Data daripada Pangkalan Data ke Fail Bahasa Codeigniter

Dalam usaha anda untuk mencipta tapak web berbilang bahasa dengan Codeigniter, anda betul-betul membayangkan menggunakan pangkalan data untuk mengurus kandungan bahasa. Artikel ini akan membimbing anda melalui langkah khusus untuk mencapai matlamat ini.

Struktur Pangkalan Data dan Fail Bahasa

Pertama sekali, sediakan jadual pangkalan data bernama lang_token untuk menyimpan token bahasa. Isi dengan lajur untuk id, kategori, perihalan, lang dan token. Sebagai contoh, cipta token bahasa Inggeris seperti:

| id | category | description | lang | token |
|---|---|---|---|
| 1 | error | noMail | english | You must submit a valid email address |
| 2 | error | noUser | english | You must submit a username |
Salin selepas log masuk

Seterusnya, susun fail bahasa dalam subdirektori dalam aplikasi/bahasa (cth., aplikasi/bahasa/bahasa Inggeris).

Fail Bahasa Pencucuh Kod Struktur

Fail bahasa mengikut struktur tertentu:

$lang['category_description'] = 'token';
Salin selepas log masuk

Sebagai contoh, dalam application/language/english/general_lang.php:

$lang['error_noMail'] = 'You must submit a valid email address';
$lang['error_noUser'] = 'You must submit a username';
Salin selepas log masuk

Fungsi Pengawal untuk Penjanaan Fail Bahasa Dinamik

Untuk mencipta fail bahasa secara dinamik daripada pangkalan data, cipta fungsi pengawal seperti ini:

function updatelangfile($my_lang){
    $query = $this->db->where('lang', $my_lang)->get('lang_token');

    $langstr = "<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\n\n";

    foreach ($query->result() as $row){
        $langstr.= "$lang['".$row->category."_".$row->description."'] = \"$row->token\";\n";
    }

    write_file('./application/language/'.$my_lang.'/general_lang.php', $langstr);
}
Salin selepas log masuk

Penggunaan

Setiap kali anda mengemas kini pangkalan data anda, panggil fungsi updatelangfile('english') untuk menjana semula fail bahasa.

Nota Tambahan

  • Muatkan Pembantu Fail dan Kelas Bahasa dalam pembina pengawal.
  • Gunakan awalan biasa untuk kategori mesej dalam fail bahasa untuk mengelakkan konflik.

Atas ialah kandungan terperinci Bagaimana untuk Menghasilkan Fail Bahasa CodeIgniter secara Dinamik daripada Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan