CodeIgniter 视图篇
什么是视图
简单来说,一个视图其实就是一个 Web 页面,或者页面的一部分,像页头、页脚、侧边栏等。 实际上,视图可以很灵活的嵌在另一个视图里,然后这个视图再嵌在另一个视图里,等等, 如果你想使用这种层次结构的话,可以这样做。
视图不是直接被调用的,它必须通过 控制器 来加载。在 MVC 框架里, 控制器扮演着类似于交警的角色,它专门负责读取特定的视图。 – 来自ci3.x官方文档
怎么加载视图?
- 例如我们有一个视图在 application/views/welcome.php
public 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 视图篇的更多相关文章
- Android应用性能优化系列视图篇——隐藏在资源图片中的内存杀手
图片加载性能优化永远是Android领域中一个无法绕过的话题,经过数年的发展,涌现了很多成熟的图片加载开源库,比如Fresco.Picasso.UIL等等,使得图片加载不再是一个头疼的问题,并且大幅降 ...
- MySQL之视图篇
MySQL之视图篇 文章目录 MySQL之视图篇 1. 概述 1.1 为什么使用视图? 1.2 视图的理解 2. 创建视图 2.1 创建单表视图 2.2 针对于多表 2.3 基于视图创建视图 3. 查 ...
- 微信支付JSAPI模式及退款CodeIgniter集成篇
微信支付接口文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 首先你得知道这个jsapi是不能离开微信进行调用支付的,明白 ...
- 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- ASP.NET MVC学习之视图篇(1)
一.前言 不知道还有多少读者从第一篇开始一直学习到如今,笔者也会一直坚持将ASP.NET MVC的学习完美的结束掉,然后开始写如何配合其他框架使用ASP.NET MVC的随笔.当然笔者后面的随笔如果没 ...
- CI框架篇之视图篇--载入(1)
创建视图 创建视图文件很简单,只需要建立后缀名为‘.php’的文件, 然后保存文件到 application/views/ 文件夹即可 当然,随着工程的大小,你有必要对很多的视图根据控制器进行归类, ...
- [CI]CodeIgniter视图 & 模型 & 控制器
---------------------------------------------------------------------------------------------------- ...
- 自己定义控件三部曲视图篇(二)——FlowLayout自适应容器实现
前言:我最大的梦想,就是有一天.等老了坐在摇椅上回望一生,有故事给孩子们讲--. 相关文章: <Android自己定义控件三部曲文章索引>:http://blog.csdn.net/har ...
- 探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御和异步分部视图的处理
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- 微信支付Native扫码支付模式二之CodeIgniter集成篇
CI:3.0.5 微信支付API类库来自:https://github.com/zhangv/wechat-pay 请先看一眼官方场景及支付时序图:https://pay.weixin.qq.com/ ...
随机推荐
- Springboot——参数校验
springboot参数校验注解 在controller层需要对前端传来的参数进行校验 校验简单数据类型 使用springboot自带的validation工具可以从后端对前端传来的数据进行校验 使用 ...
- Not a managed type: class com.example.commonspojo.entity,公共实体类剥离,然后引入报错的问题及解决办法
最近搞springcloud项目遇到在商品服务中调用基本服务时jvm扫描不到的问题 需要加@entityscan 学习博客: (9条消息) Not a managed type: class com. ...
- How to use the shell command to get the version of Linux Distributions All In One
How to use the shell command to get the version of Linux Distributions All In One 如何使用 shell 命令获取 Li ...
- 【技术积累】JavaSciprt中的函数【一】
什么是函数?如何声明函数? JavaScript中的函数是一段可重复使用的代码块,它可以接受输入并返回输出. 在JavaScript中,函数是一种特殊的对象,因此可以将其存储在变量中,将其作为参数传递 ...
- Some book
## book [C++] Accelerated C++ C++ Primer 5th C++ 程序设计语言: 1 ~ 3 C++ 程序设计语言: 4 C++ 编程思想 C++ 标准库 2th C+ ...
- 使用 Easysearch 还原 Elasticsearch 快照数据
本文主要验证 Elasticsearch 快照在 Easysearch 中进行数据恢复. 准备测试数据 索引 别名 模版 生命周期策略 创建快照 PUT /_snapshot/my_backup { ...
- Helm实战案例二:在Kubernetes(k8s)上使用helm安装部署日志管理系统EFK
目录 一.系统环境 二.前言 三.日志管理系统EFK简介 四.helm安装EFK 4.1 helm在线安装EFK 4.2 helm离线安装EFK(推荐) 五.访问kibana 5.1 数据分片 六.卸 ...
- ModelBox实战开发:RK3568实现摄像头虚拟背景
摘要:本文将使用ModelBox端云协同AI开发套件(RK3568)实现摄像头虚拟背景AI应用的开发. 本文分享自华为云社区<ModelBox开发案例 - RK3568实现摄像头虚拟背景[玩转华 ...
- 【python基础】类-初识类
1.面向对象思想 在认识类之前,我们需要理解面向对象思想和面向过程思想. 面向过程思想:要拥有一间房屋,面向过程像是自己来修盖房屋,如果需要经过选址.购买材料.砌墙.装修等步骤,面向过程编程,就相当于 ...
- clickhouse使用入门
转载请注明出处(- ̄▽ ̄)-严禁用于商业目的的转载- 导语:同学,你也不想你根本不懂ClickHouse,却赶鸭子上架使用的事情被其他人知道吧? 写在前面:本文旨在让原先有一定SQL基础的人快速简单了 ...