在我的CI控制器中,我有三个功能:
function _temp ($view,$data="") {
$this->load->view('temp/nm-header',$data);
$this->load->view($view,$data);
$this->load->view('temp/footer',$data);
}
function _qs($val) {
return $this->session->userdata($val);
}
function _qp($val) {
return $this->input->post($val);
}
我希望为此有一个中央控制器,而不必将这些方法复制/粘贴到我拥有的每个控制器中。制作一个图书馆能解决问题吗?㞖。。。
$ci =& get_instance
如何使上面的这个变量在我库类中的所有 menthod 中可用?
谢谢。
无需创建库。相反,请为常用方法创建一个名为 MY_Controller
的基本控制器,并让其他控制器从中扩展,如下所示:
MY_Controller:
class MY_Controller extends CI_Controller {
function __construct() {
parent::__construct();
}
function _temp ($view,$data="") {
$this->load->view('temp/nm-header',$data);
$this->load->view($view,$data);
$this->load->view('temp/footer',$data);
}
function _qs($val) {
return $this->session->userdata($val);
}
function _qp($val) {
return $this->input->post($val);
}
}
您希望访问常用方法的任何其他控制器:
class Some_controller extends MY_Controller {
function __construct() {
parent::__construct();
}
// _temp(), _qs(), and _qp() are now all available to any controller
// that extends MY_Controller
}
您可以创建自己的核心类并扩展 CI 类。http://codeigniter.com/user_guide/general/core_classes.html