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

[控制器] 控制器里如何避免重复调入数据$data

[复制链接]
发表于 2010-11-28 19:34:11 | 显示全部楼层 |阅读模式
控制器
        ......       
        $data["head"] = $this->load->view('head','',true);
        $data["left"] = $this->load->view(left,'',true,$data);
        $data["foot"] = $this->load->view('foot','',true);
        $this->load->view('line',$data);
----------------------------------
视图
<div>
         <div><?=$head;?></div>
         <div>
                  <div><?=$left;?></div>
                  ......
         </div>
         <div><?=$foot;?></div>
</div>
----------------------------------


控制器里 $data["left"] = $this->load->view(left,'',true,$data);因为需要用到$data里的某些数据,所有调用了一次$data,
最后$this->load->view('line',$data);又一次调用了$data。两次$data重复的调用会不会占额外的资源,如何避免两次重复调用呢?
发表于 2010-11-28 19:42:30 | 显示全部楼层
只需要第一个view调用就可以了
 楼主| 发表于 2010-11-28 22:03:18 | 显示全部楼层
本帖最后由 loveym 于 2010-11-28 22:07 编辑

每一次载入view后,$data的内容已经改变,分别增加一个元素。(我是把前面的视图分别赋值给$head,$left,$foot变量的)

$data["head"] = $this->load->view('head','',true);

这个是手册上的列子有些区别的~
发表于 2010-11-29 09:59:44 | 显示全部楼层
把所有的数据准备好,传入第一个view
发表于 2010-11-29 15:50:35 | 显示全部楼层
你的 left  herd 是不是 到时候要include 到index里的
如果是这样的话 只要view到index 不就好了吗?
干嘛还分开来传呢!
发表于 2010-11-29 23:14:22 | 显示全部楼层
-_- 多运行几行代码,多传递几次变量,能占用多少资源。。。这又不是386
还是先把精力关注到开发效率上才是正道,这才是用 CI 的最终目的:提高开发效率。
发表于 2011-1-8 11:41:04 | 显示全部楼层
可以在view中用$this->load->view();

本版积分规则