用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4883|回复: 8
收起左侧

[已解决] 关于 控制器中 $this->load 变量

[复制链接]
发表于 2010-4-24 00:16:32 | 显示全部楼层 |阅读模式
刚刚开启接触 CI , 其中看到了关于控制器中  load 这个变量.  找了好久都没有发现在哪里声明定义的.

哪位能帮忙解释下吗 ?
发表于 2010-4-24 01:29:15 | 显示全部楼层
在 system/codeigniter/ 目录里找
发表于 2010-4-24 08:06:25 | 显示全部楼层
这个在system/codeigniter下 好像找不到吧?(用base5.php)因为他并不在前台控制器里加载。

这个load是library下loader.php里面 ci_loader类的实例,应该算是ci的核心类了,用于加载试图,类库,模型等。
发表于 2010-4-24 08:27:50 | 显示全部楼层
刚刚开启接触 CI , 其中看到了关于控制器中  load 这个变量.  找了好久都没有发现【在哪里声明】定义的.

哪位 ...
zxwo0o 发表于 2010-4-24 00:16


ls注意红字部分
发表于 2010-4-24 12:16:36 | 显示全部楼层
这样的话应该是在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();
                }
 楼主| 发表于 2010-4-24 23:11:24 | 显示全部楼层
恩 多谢了,   其实我语法学的没过关造成的, 不懂得  $this->load =& load_class('Loader');  这样也算是给当前这个类添加一个成员.   因为原来学的是C++ 在 C++ 里是没有这样的用法的.   就在那里一直找变量声明.    一时还没转过来.
发表于 2010-4-25 23:55:04 | 显示全部楼层
语言和语言还是有区别的,否则就不叫 PHP 而叫 C++ 了,呵呵
发表于 2010-4-29 17:31:54 | 显示全部楼层
其实就是新建一个Loader 类然后把这个复制Controller的load变量,我们所用的this->load->model(),this->load->view(),的方法就在Loader 里面定义的
发表于 2010-5-9 01:27:10 | 显示全部楼层
用netbean吧。按住ctrl点击调用时的方法或是类名,直接到声明部分。

本版积分规则