Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数据库的kohanai18n_Php_Database_Orm_Translation_Kohana - Fatal编程技术网

Php 使用数据库的kohanai18n

Php 使用数据库的kohanai18n,php,database,orm,translation,kohana,Php,Database,Orm,Translation,Kohana,我是kohana的新手,正在尝试将i18n从基于文件修改为基于数据库。基于此,我做了以下工作:在application/classes目录中创建了新的类i18n,以覆盖默认的\uu()函数 <?php class I18n extends Kohana_I18n { function __($token, $lang = 'en') { $query = ORM::factory('Dictionary')->where('token', '='

我是kohana的新手,正在尝试将i18n从基于文件修改为基于数据库。基于此,我做了以下工作:在
application/classes
目录中创建了新的类
i18n
,以覆盖默认的
\uu()
函数

<?php

class I18n extends Kohana_I18n
{


    function __($token, $lang = 'en')
    {
        $query = ORM::factory('Dictionary')->where('token', '=', $token)->find();
        return $query->{"txt_" . $lang};
    } 
}

在此实现中,您需要在视图中使用:

I18n::__($message_to_translate);
不是

并且您必须将
\uuu()
函数声明为static

<?php defined('SYSPATH') or die('No direct script access.');

class I18n extends Kohana_I18n
{

    public static function __($token, $lang = 'en')
    {
        $query = ORM::factory('Dictionary')->where('token', '=', $token)->find();
        return $query->{"txt_" . $lang};
    } 
}

“[…]基于数据库。基于[…]什么?呼市
__($message_to_translate);
<?php defined('SYSPATH') or die('No direct script access.');

class I18n extends Kohana_I18n
{

    public static function __($token, $lang = 'en')
    {
        $query = ORM::factory('Dictionary')->where('token', '=', $token)->find();
        return $query->{"txt_" . $lang};
    } 
}