CodeIgniter 视图篇
2017-07-24 22:10
351 查看
什么是视图
简单来说,一个视图其实就是一个 Web 页面,或者页面的一部分,像页头、页脚、侧边栏等。 实际上,视图可以很灵活的嵌在另一个视图里,然后这个视图再嵌在另一个视图里,等等, 如果你想使用这种层次结构的话,可以这样做。视图不是直接被调用的,它必须通过 控制器 来加载。在 MVC 框架里, 控制器扮演着类似于交警的角色,它专门负责读取特定的视图。 – 来自ci3.x官方文档
怎么加载视图?
例如我们有一个视图在 application/views/welcome.phppublic function index() { $this->load->view('welcome'); }
视图可以在子目录中, 例如: application/views/html/welcome.php
public function index() { $this->load->view('html/welcome); }
怎么向视图传递动态变量
我们目前有welcome.php这个视图, 现在我们给它的代码是<html> <head> <title><?php echo $title; ?></title> </head> <body> <h1><?php echo $string; ?></h1> </body>
在渲染视图时怎么传递变量
public function index() { $data['title'] = '你好, 欢迎'; $data['string'] = '我是剑齿虎, 很高兴认识你!'; //view的参数2可以向视图传递数组/对象 $this->load->view('welcome', $data); }
返回视图数据
public function index() { $data['title'] = '你好, 欢迎'; $data['string'] = '我是剑齿虎, 很高兴认识你!'; //view的参数3为一个bool类型, 默认为false. 提供true将返回渲染后的视图数据, 你需要用一个变量来接收它! $template = $this->load->view('welcome', $data, true); var_dump($template); }
视图的继承 (模版引擎? 没有这样的东西)
在网站项目中, 模版的重用比较多(废话). 比如一个网页一般是由”头 主体 侧栏 菜单 尾部”构成的. 因此为避免重复造轮子. 模版继承/视图引入拼接的存在是非常有意义的.仔细看了看, 好像ci没有模版继承这样的东西. 唯一一个解决方案就是”视图拼接”. 引入多个视图合并
$this->load->view('header', $data); $this->load->view('menu'); $this->load->view('content', $content); $this->load->view('sidebar'); $this->load->view('footer'); //.....
如何在视图中加载其他视图(include)?
需求: 你的 welcome.php 视图, 需要引入一个 side.php 的视图<html> <head> <title>视图加载视图</title> </head> <body> <?php $this->load->view('side'); ?> </body> </html>
本文作为笔记备用
目前在学ci框架, 官方虽然有中文文档. 但有些地方解释比较模糊. 弄的我这样的新手容易搞不明白.代码手写, 可能会有点小问题. 大体就是这个意思
相关文章推荐
- CodeIgniter框架模型(model),视图(view)和控制器(controller)中的文件操作
- codeigniter框架扩展核心类---实现前台后台视图的分离
- PHP框架CodeIgniter下视图的组织方式优化
- CodeIgniter使用 layout library 简化视图布局
- CodeIgniter视图使用注意事项
- 一步一步重写 CodeIgniter 框架 (8) —— 视图的嵌套输出与返回
- CodeIgniter tips:视图中的参数传递
- Codeigniter 给视图添加动态数据
- CI(CodeIgniter)框架视图中加载视图的方法
- CodeIgniter视图使用注意事项
- [PHP]CodeIgniter学习手册(二):视图view的介绍与使用
- [CI]CodeIgniter视图 & 模型 & 控制器
- Codeigniter 视图嵌套
- CodeIgniter框架——CI中视图路径问题
- CodeIgniter 向视图传递数据时的注意
- CodeIgniter框架模型(model),视图(view)和控制器(controller)中的文件操作
- CodeIgniter 入门实践(博客站-1:单视图主页)
- CodeIgniter视图
- codeigniter 视图
- CodeIgniter 视图使用两种模板Template布局的方式