創建一個庫文件如下面,包括在autoload.phpb
class Timezoneconvert
{
function set_timezone($timeZoneId='') {
$this->obj =& get_instance();
$this->obj->load->database();
if($timeZoneId!="")
date_default_timezone_set($timeZoneId);
$this->obj->db->query("SET SESSION time_zone = '".$timeZoneId."'");
}
}
}
庫文件,您應該創建一個名爲MY_Controller
,所有的家長控制你的其他控制器擴展。在該類的構造函數中,可以調用set_timezone
。通過此解決方案,時區將自動設置在所有子控制器中。
你MY_Controller
應存放在application/core
,應該是這個樣子:
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->set_timezone();
}
function set_timezone($timeZoneId='')
{
// Your code
}
}
現在所有的其他控制器應擴大MY_Controller
而不是CI_Controller
。例如: -
class WelcomeController extends MY_Controller
{
function __construct()
{
// This will call the constructor of MY_Controller,
// which in turn sets the timezone:
parent::__construct();
}
// Rest of your functions...
}
可能創建新庫,然後通過自動加載autoload.php它? – Nikitas 2013-03-22 06:14:47