CI等MVC框架中为什么不能有index控制器的原因

作者:小白鱼鱼来源:转载发布:2018-03-12阅读:252
原文地址:http://www.codeweblog.com/ci等mvc框架中为什么不能有index控制器的原因/
如需转载此文,请注明原文转载地址,以尊重原创人员!
标签:ci,index控制器
上篇 下篇 关闭 设置

因为类名称是index 而方法又是index,这样index函数就是php4中的构造函数,即实例化类时,直接执行这个函数而没有执行父类的构造函数,也就没有初始化CI核心类。所以会提示没有定义属性或方法了。

用index类名也可以,在

public function index() 方法前加上,调用父类的构造方法

public function construct()
{
    parent::
construct();
}

这个原理是:当类中同时存在php4和php5的构造函数时,只执行php5 的 __construct();。

当在index方法中加上 parent::construct()又会出现什么呢?
function index()
{
    parent::
construct();
    $this->load->view('…….');
}

重复执行了两次 index方法。第一次php4的构造函数,第二次CI的index方法。

粤ICP备15070997号-1