一个愚蠢的问题,我想从我的admin_news控制器函数调用,该函数驻留在另一个控制器Admin中。功能名称为is_logged_in();
admin.php的
public function is_logged_in()
{
....
}
admin_news.php
public function __contruct()
{
parent::__construct();
//admin->is_logged_in();??
}
我该怎么做? 感谢
答案 0 :(得分:6)
您必须在其他地方移动该功能,Codeigniter的架构不允许在一个请求中使用多个控制器实例。您有多个选项,例如使用公共基类,库,帮助程序等。
我建议您创建自己的MY_Controller
基类(请参阅Extending Core Classes)并将您的方法放在那里,如下所示:
class MY_Controller extends CI_Controller {
protected function is_logged_in() {
// ...
}
}
一旦你拥有它,你可以称之为:
class AdminNews extends MY_Controller {
public function __construct() {
parent::__construct();
$this->is_logged_in();
}
}