关于 控制器中 $this->load 变量
刚刚开启接触 CI , 其中看到了关于控制器中load 这个变量.找了好久都没有发现在哪里声明定义的.哪位能帮忙解释下吗 ? 在 system/codeigniter/ 目录里找 这个在system/codeigniter下 好像找不到吧?(用base5.php)因为他并不在前台控制器里加载。
这个load是library下loader.php里面 ci_loader类的实例,应该算是ci的核心类了,用于加载试图,类库,模型等。 刚刚开启接触 CI , 其中看到了关于控制器中load 这个变量.找了好久都没有发现【在哪里声明】定义的.
哪位 ...
zxwo0o 发表于 2010-4-24 00:16 http://codeigniter.org.cn/forums/images/common/back.gif
ls注意红字部分 这样的话应该是在controller这个类里面定义的(library/controller.php ) 就是你的控制器继承的父类 在他的构造函数中会初始化一些类 其中就有loader这个类 付给load这个变量
下面的代码来在 library/controller.php
// In PHP 5 the Loader class is run as a discreet
// class.In PHP 4 it extends the Controller
if (floor(phpversion()) >= 5)
{
$this->load =& load_class('Loader');
$this->load->_ci_autoloader();
} 恩 多谢了, 其实我语法学的没过关造成的, 不懂得$this->load =& load_class('Loader');这样也算是给当前这个类添加一个成员. 因为原来学的是C++ 在 C++ 里是没有这样的用法的. 就在那里一直找变量声明. 一时还没转过来. 语言和语言还是有区别的,否则就不叫 PHP 而叫 C++ 了,呵呵 其实就是新建一个Loader 类然后把这个复制Controller的load变量,我们所用的this->load->model(),this->load->view(),的方法就在Loader 里面定义的 用netbean吧。按住ctrl点击调用时的方法或是类名,直接到声明部分。
页:
[1]