codeigniter一个小疑问题

hphper 发布于 2014/08/31 21:42
阅读 240
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

我在项目 目录下的core文件夹下建立 公共模型文件MY_Model.php 它继承CI_Model.php

这里面的构造函数是:


public function __construct(){
	echo "MY_<br>";
}

然后我再models文件夹下建立一个 infomodel.php 它继承MY_Model


其构造函数是:


public function __construct() {
		echo 'info';

}



以上 都是为了说明问题简化的代码,问题如下


我在控制器里载入infomodel 为什么输出的是

MY_

info

呢?

Infomodel的构造函数不是把它的父控制器的构造函数 覆盖了吗,为什么还会输出MY_呢?

我试过 infomodel里的一般方法 是可以覆盖其父类的 对应的方法,但是执行 构造和析构 方法时总是先执行其父类方法,再执行自身方法,即使覆盖了父类的方法,它还是执行,我想知道这是为什么呢?

加载中
0
Scholer
Scholer

你可以看下 systerm下 Loader.php 下的_ci_load_class函数 和 _ci_init_class函数

core文件夹下建立 公共模型文件MY_Model.php 是会被自动加载并实例化

hphper
hphper
我那别的 覆盖也没用,谢谢 啊,
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部