Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tạo các tệp ngôn ngữ Codeigniter từ cơ sở dữ liệu?

Bạn đang đi đúng hướng. Bạn sẽ muốn tạo tệp ngôn ngữ một cách nhanh chóng (ví dụ:bất cứ khi nào bạn cập nhật nội dung ngôn ngữ trong cơ sở dữ liệu của mình)

Thứ nhất:bố cục cơ sở dữ liệu

Tạo bảng lang_token với các cột id , category , description , lang , token và điền vào các trường của nó như thế này:

    CREATE TABLE IF NOT EXISTS `lang_token` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `category` text NOT NULL,
      `description` text NOT NULL,
      `lang` text NOT NULL,
      `token` text NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

    INSERT INTO `lang_token` (`id`, `category`, `description`, `lang`, `token`) 
    VALUES
      (1, 'error', 'noMail', 'english', 'You must submit a valid email address'),
      (2, 'error', 'noUser', 'english', 'You must submit a username');

Thứ 2:Giới thiệu về tệp ngôn ngữ CodeIgniter

CodeIgniter sẽ xuất hiện đầu tiên trong thư mục ứng dụng / ngôn ngữ của bạn, Mỗi ngôn ngữ nên được lưu trữ trong thư mục riêng của nó. Đảm bảo rằng bạn đã tạo các thư mục con tiếng Anh hoặc tiếng Đức, v.v., ví dụ:application/language/english

Thứ 3:Chức năng điều khiển để tạo tệp ngôn ngữ một cách nhanh chóng

Giới thiệu về các tệp ngôn ngữ Codeigniter:Bạn nên sử dụng tiền tố chung (danh mục) cho tất cả các thư trong một tệp nhất định để tránh va chạm với các mục có tên tương tự trong các tệp khác Có cấu trúc như:$lang['category_description'] = “token”;

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

        $lang=array();
        $langstr="<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
                /**
                *
                * Created:  2014-05-31 by Vickel
                *
                * Description:  ".$my_lang." language file for general views
                *
                */"."\n\n\n";



        foreach ($query->result() as $row){
            //$lang['error_csrf'] = 'This form post did not pass our security checks.';
            $langstr.= "\$lang['".$row->category."_".$row->description."'] = \"$row->token\";"."\n";
        }
        write_file('./application/language/'.$my_lang.'/general_lang.php', $langstr);

    }

Ghi chú cuối cùng:

  1. Bất cứ khi nào bạn thay đổi cơ sở dữ liệu của mình, bạn sẽ gọi hàm updatelangfile(‘english’)
  2. Đừng quên tải trình trợ giúp tệp lớp ngôn ngữ trong phương thức khởi tạo của bộ điều khiển nơi chứa updatelangfile ():

    function __construct(){
        parent::__construct();
        $this->load->helper('file');
        $this->lang->load('general', 'english');
    }
    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NodeJS MySQL Dump

  2. cấp quyền truy cập từ xa cơ sở dữ liệu MySQL từ bất kỳ địa chỉ IP nào

  3. Giải pháp tốt nhất để tổng hợp kết nối cơ sở dữ liệu trong python là gì?

  4. Cách Unpivot Table trong MySQL

  5. SQL Server tương đương ELT () trong MySQL là gì?