Rumah  >  Artikel  >  pangkalan data  >  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
Mary-Kate Olsenasal
2024-10-30 00:32:02523semak imbas

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 |

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';

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';

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);
}

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!

Kenyataan:
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