我需要在每個請求上運行一些代碼,始終取決於用戶是否登錄。CodeIgniter始終運行此代碼
我在哪裏可以放這段代碼?
有沒有我可以傳遞數據的任何可能性,此代碼:
public function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->library('security');
$this->load->library('tank_auth');
$this->lang->load('tank_auth');
$this->load->model('users_model');
if ($this->tank_auth->is_logged_in())
{
$data = $this->users_model->get_userinfo($this->tank_auth->get_username());
if ($data['exp'] >= $data['max_exp']) {
$new_data = array(
'exp' => $data['exp'] - $data['max_exp'],
'level' => $data['level'] + 1,
);
$this->db->where('id', $data['id']);
$this->db->update('users', $new_data);
echo 'Hello?';
}
}
}
這是MY_Controller,在覈心類。我可以通過這個數據進一步?我想,在真實的課堂上重新獲取所有的數據,感覺不太準確。
更新我的問題 – John
+1 - 偉大的答案和方法我建議這樣做。這裏有另一種你可能會看到的方法:http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY – swatkins