4

我在使用多级继承时遇到问题,如下所示。

我有一个扩展 CI_Controller 类的顶级控制器

class Application extends CI_Controller
{
}

名为“站点”和“管理员”的控制器将应用程序控制器扩展为

class Site extends Application
{
}

class Admin extends Application
{
}

最后,“用户”和“访客”类扩展了“站点”控制器

class User extends Site
{
}

Class Guest extends Site
{
}

问题是,在用户和访客控制器中,我无法加载核心库,如分页、form_validation 等。

$this->load->library('分页);

但是当我在站点控制器或应用程序控制器中加载库时它可以工作,即。扩展核心 CI_Controller 的控制器,它是子控制器。当我尝试加载孙子时,它不起作用。

有人可以澄清为什么会这样吗?谢谢...

4

3 回答 3

2

我以前没有见过设置多级构造函数类,但它应该可以工作。

你在调用parent::__construct()每个类的构造函数吗?

于 2012-07-11T11:36:22.867 回答
1

检查CodeIgniter Base Controllers,包括解释。

于 2012-09-23T01:11:58.443 回答
0
//-Create MY_Controller.php on application/core/MY_Controller.php
//contents of MY_Controller.php
class Application extends CI_Controller{
    function __construct(){
      // Call the CI_Controller constructor
      parent::__construct();        
    }
}
//that is all now you can inherit class (Application) anywhere in your project
于 2014-03-17T08:23:41.463 回答