博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一步一步重写 CodeIgniter 框架 (7) —— Controller执行时将 Model获得的数据传入View中,实现MVC...
阅读量:7227 次
发布时间:2019-06-29

本文共 989 字,大约阅读时间需要 3 分钟。

1. 实现过程

  1) 上一节讲述了 View 视图的加载过程,它是在 Loader 类中加载的,并通过 Include 语句进行包含。那么为了在 View 中传递变量,只需要在 include 语句所在环境的变量列表中加入这些变量即可。

  2) 另外必须考虑到可以加载多个视图,所以还要保证在前面加载视图传入的变量,后面也可以访问。

// 非常重要        if (is_array($_ci_vars)) {            $this->_ci_cached_vars = array_merge($this->_ci_cached_vars, $_ci_vars);        }        extract($this->_ci_cached_vars);

  注意必须定义成员变量 $_ci_cached_vars

 

2. 测试

修改 test_view.php ,在标题下输出 $info

My First View 

Welcome, we finally met by MVC, my name is Zhangzhenyu!

那么相应在控制器函数中,也要改为

class welcome extends CI_Controller {    function hello() {        echo 'My first Php Framework!';    }    function saysomething($str) {        $this->load->model('test_model');        $info = $this->test_model->get_test_data();        $data['info'] = $info;        $this->load->view('test_view', $data);    }}

3. 测试

访问 

可以看到输出如下

Welcome, we finally met by MVC, my name is Zhangzhenyu!

People you want in our model is Zhangzhenyu

 

 

 

转载于:https://www.cnblogs.com/zhenyu-whu/p/3262188.html

你可能感兴趣的文章
node下使用express框架,ejs模板引擎
查看>>
搜索:文本的匹配算法
查看>>
Fedora 17 LibreOffice 办公套件的安装与汉化
查看>>
scrollview不充满屏幕的原因
查看>>
PHP单例模式
查看>>
解密敏捷自动化测试
查看>>
DelphiMVC拦截器介绍
查看>>
Spring Cloud构建微服务架构:分布式配置中心【Dalston版】
查看>>
iOS 11正式版终于来了!强力助攻小程序
查看>>
开放平台API接口调用频率控制系统设计浅谈
查看>>
Lucene4.3进阶开发之潜龙勿用( 七)
查看>>
DTD和schema小总结
查看>>
去掉导航栏的黑线
查看>>
怎样让html加载完毕后加载js代码
查看>>
piwik 案例介绍
查看>>
敏感字过滤
查看>>
为什么我们要从 NodeJS 迁移到 Ruby on Rails
查看>>
Android 文件式数据库Realm
查看>>
Linux 面试知识点笔记
查看>>
论flex布局和box布局的华为meta8手机自带浏览器的兼容
查看>>