0

一个愚蠢的问题,我想从位于另一个控制器管理员中的 admin_news 控制器函数调用。函数名称是is_logged_in(); admin.php

public function is_logged_in()
{
   ....
}


admin_news.php
public function __contruct()
{
   parent::__construct();
   //admin->is_logged_in();??
}

我怎样才能做到这一点?谢谢

4

1 回答 1

6

您必须将该功能移到其他地方,Codeigniter 的架构不允许在一个请求中使用多个控制器实例。您有多种选择,例如使用通用基类、库、帮助程序等。

我建议您创建自己的MY_Controller基类(请参阅扩展核心类)并将您的方法放在那里,如下所示:

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();
    }
}
于 2013-05-25T13:21:09.273 回答