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

[HELP] CI 的view和控制器

[复制链接]
发表于 2009-9-2 20:39:52 | 显示全部楼层 |阅读模式
哪为大哥能给我解释下!!!!!!
为什么在视图文件里有可以用this来访问控制器??????????如下代码
<html>
             <head>
<?php $this->load->view('header_view'); ?></head>   <body>
                   <?php echo $mytitle; ?><?php echo $mytext; ?>
</body>
</html>
发表于 2009-9-2 21:55:09 | 显示全部楼层
这是加载一个视图模板.在视图中可以直接调用其他视图.
比如:
VIEW:index.php;
$this->load->view('index')中调用
     //$this->load->view('header');
     //$this->load->view('body');
     //$this->load->view('footer');
发表于 2009-9-2 22:18:44 | 显示全部楼层
ls正解
发表于 2009-9-3 01:00:24 | 显示全部楼层
楼主的问题比较深入,先了解一下 CI 源码,就能理解 CI 的设计思想了。
发表于 2009-9-3 08:42:58 | 显示全部楼层
恩,看手册~~~~
 楼主| 发表于 2009-9-3 09:12:18 | 显示全部楼层
4# Hex
这个$this就是CI超级对象,是在任何地方都能访问到对吗?
所以 在视图里可以这样写<head><?php $this->load->view('header_view'); ?></head>
我的理解可以吗?
发表于 2009-9-3 11:33:59 | 显示全部楼层
$this 确实是超级对象,但并不是哪里都能访问,视图,控制器,模型都可以,但类库等就不可以了。
 楼主| 发表于 2009-9-3 12:11:53 | 显示全部楼层
7# Hex
除了 视图,模型,控制器之外,在其他地方不也可以通过这样访问超级对象??
$obj =& get_instance(); $obj不就是我们要的超级对象吗???
发表于 2009-9-3 12:24:27 | 显示全部楼层
Hex说的是$this啦,视图中的$this实际上是CI_Loader,因为视图文件是在CI_Loader的一个方法里include的,所以才存在$this对象
而在类之外的地方是没有$this对象的,必须用get_instance()获得当前控制器对象
 楼主| 发表于 2009-9-3 12:43:27 | 显示全部楼层
9# visvoy
不好意思再问下!!!
是不是只要被注册到超级变量里的对象都可以通过$this访问到超级变量吗???
谢谢!!!

本版积分规则