我會需要使用域,並把它在一個會議上,以獲取一些數據從數據庫中設置/檢查會話。我可以在默認的控制器,與沒有問題做到這一點。 問題是,當人們直接鏈接到像一個特定的控制器:www.mywebsite/myController的/ myfunction的。笨 - 在每一個控制器功能
當他們通過該鏈接進入網站,我不從域中設置會話,我會得到一些錯誤。
所以我的問題是: 是否有人有一個解決方案,以檢查/在每個域中的每個功能設置這個會議?
提前致謝!
我會需要使用域,並把它在一個會議上,以獲取一些數據從數據庫中設置/檢查會話。我可以在默認的控制器,與沒有問題做到這一點。 問題是,當人們直接鏈接到像一個特定的控制器:www.mywebsite/myController的/ myfunction的。笨 - 在每一個控制器功能
當他們通過該鏈接進入網站,我不從域中設置會話,我會得到一些錯誤。
所以我的問題是: 是否有人有一個解決方案,以檢查/在每個域中的每個功能設置這個會議?
提前致謝!
你可以用一個鉤子:http://ellislab.com/codeigniter/user-guide/general/hooks.html
或者你可以把你的小腳本到您的控制器的結構。
function __construct()
{
parent::__construct();
//Put your code here, you can also load your models and stuff
//$this->load->model("user_model","user");
//Code code code
}
這裏是國際化(語言模塊)掛鉤的例子 - 在應用程序/鉤創建文件/ my_hook.php
function setUserLang()
{
//Getting the language of the user
//If nothing was found, stick with English
$ci =& get_instance();
if(!$ci->session->userdata('lang')){
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang){
case "fr":
$ci->session->set_userdata('lang','french');
break;
case "en":
$ci->session->set_userdata('lang','english');
break;
default:
$ci->session->set_userdata('lang','english');
break;
}
}
}
,轉到應用程序/配置/掛鉤。 PHP和添加類似的東西:
$hook['post_controller_constructor'][] = array(
'class' => '',
'function' => 'setUserLang',
'filename' => 'my_hook.php',
'filepath' => 'hooks'
);
你能不能把一些邏輯內的構造? – Zabs