Codeigniter多级继承

时间:2012-07-11 11:31:07

标签: codeigniter inheritance codeigniter-2

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

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

class Application extends CI_Controller
{
}

名为' Site'和'管理员'将应用程序控制器扩展为

class Site extends Application
{
}

class Admin extends Application
{
}

最后上课'用户'和'访客'扩展'网站'控制器

class User extends Site
{
}

Class Guest extends Site
{
}

问题是,在User和Guest控制器中,我无法使用

加载分页,form_validation等核心库。

$这 - >负载>库('页码);

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

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

3 个答案:

答案 0 :(得分:2)

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

您是否在每个类的构造函数中调用parent::__construct()

答案 1 :(得分:1)

结帐CodeIgniter Base Controllers,包含说明。

答案 2 :(得分: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