codeigniter如何调用驻留在另一个控制器中的函数

时间:2013-05-25 13:10:33

标签: php codeigniter

一个愚蠢的问题,我想从我的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();??
}

我该怎么做? 感谢

1 个答案:

答案 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();
    }
}