thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)
thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)
一、总结
1、标签和原生php之间的关系:标签只是为了方便你使用,标签能做到的功能原生php一定能做到,因为标签就是用原生php写的
二、thinkphp中view页面中的volist标签转化为原生php分析
view中的volist标签
{volist name="dataout" id="vo"}
{/volist}
转化为原生php后的代码
<?php if(is_array($dataout) || $dataout instanceof \think\Collection || $dataout instanceof \think\Paginator): $i = 0; $__LIST__ = $dataout;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$vo): $mod = ($i % 2 );++$i;?>
<?php endforeach; endif; else: echo "" ;endif; ?>
1、if(is_array($dataout) || $dataout instanceof \think\Collection || $dataout instanceof \think\Paginator): 这部分判断从控制器传过来的数据是不是数组,或者Collection或者Paginator的实例,因为volist的参数可以是这三种
2、$i = 0; $__LIST__ = $dataout; i赋初值并且将页面传过来的数据赋值给 $__LIST__ ,所以从这里可以发现页面传过来的数据可以直接$dataout; 的方式用
3、if( count($__LIST__)==0 ) : echo "" ; 判断数据是否为空,为空则输出空
4、foreach($__LIST__ as $key=>$vo): foreach遍历数组啊
5、$mod = ($i % 2 );++$i; 生成mod参数,也就是volist中的歌mod参数,代表奇偶数的那个变量
6、endforeach; endif; 因为我们把循环和判断分开来写了,所以你没法用}来判断块结束,所以就 用endforeach来结束foreach,用endif来结束if
三、volist标签的几个参数
name 需要遍历的数据
id 类似于foreach中 value
offset 截取数据起始位置
length 截取数据的个数
mod 奇偶数
empty 数据为空的使用
key 编号
在volist中有些参数没有用,如果你用了就会转化为对应的php
标签只是为了方便你使用,标签能做到的功能原生php一定能做到,因为标签就是用原生php写的
thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)的更多相关文章
- struts2 - View页面中获取Action的成员变量
struts2 - View页面中获取Action的成员变量 2016年03月02日 11:04:44 IT男青年 阅读数:1074 View页面中获取Action的成员变量 按照Struts的设 ...
- ThinkPHP中处理模板引擎的volist标签
Volist标签主要用于在模板中循环输出数据集或者多维数组 必须得属性有:name属性,要输出的数据模板变量,id是循环变量. 其他属性参见开发手册. 通常模型的select方法返回的结果是一个二维数 ...
- gridView在view页面中的一些代码详细模板
<?php use yii\helpers\Html; use yii\grid\GridView; use yii\widgets\Pjax; use frontend\models\Item ...
- Visual Studio中View页面与Js页面用快捷键互相跳转
现在已经将源码放到GitHub中了 地址是 https://github.com/liningit/ViewJsLN 公司开发的项目使用的是Mvc框架,且Js与View页面是分开在两个文件夹下的,所以 ...
- FineUI中在一个页面中通过控件事件(JS)向父页面中添加Tab页
1.在前台页面尾部添加js代码 </form> <script type="text/javascript"> var basePath ...
- MVC中view页面用jquery方法绑定select控件值
var sortid = '@Model.myWorkMatter.WorkMatterSortID'; $("#selectSort").val(sortid); $(" ...
- vue 中view层中方法的使用
1.使用filters computed:{ }, filters: { filterA: function(value) { return value + 'wh' } }, 2.用法: {{it ...
- 微信小程序中在页面中实现下拉刷新显示提醒语后在消失
最近在做小程序的时候遇见一个问题,就是页面要下拉刷新给客户一个提醒语,查看了小程序的官方文档 这里有个注意点:如果你是一页进行下拉刷新就在那个文件夹的json里面加上"enablePullD ...
- Idea中JSP页面中out内置对象报错out.println标红问题
问题如图: 解决方法: 导入jar包 1.在pom.xml的<dependencies>里面复制 <dependency> <groupId>javax.servl ...
随机推荐
- PHP生成二维码方法
<?php //先下载一份phpqrcode类,下载地址http://down.51cto.com/data/780947require_once("phpqrcode/phpqrco ...
- PHP+FastCGI+Nginx动态请求处理配置
Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对client动态页面请求的处理. CGI的英文全称为Common Gateway Interface(公共 ...
- 安卓手机上安装 谷歌 play 商店
安卓手机上安装 谷歌 play 商店 安卓(Android)就是现在流行的智能手机系统,它是由Google公司和开放手机联盟领导及开发.由于安卓系统的底层代码(AOSP)是开源的,以GPL和Apach ...
- php课程 12-39 继承中parent的作用是什么
php课程 12-39 继承中parent的作用是什么 一.总结 一句话总结:PHP5中使用parent::来引用父类的方法.parent:: 可用于调用父类中定义的成员方法. parent::的追溯 ...
- 15.Node.js REPL(交互式解释器)
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电 ...
- js进阶 14-4 $.get()方法和$.post()方法如何使用
js进阶 14-4 $.get()方法和$.post()方法如何使用 一.总结 一句话总结:$.get(URL,callback); $.post(URL,data,callback); callba ...
- EXT gridPanel 添加图片
var workAreaGrid = new Ext.grid.GridPanel({ region: 'west', title: '工作面预警结果', store: wkSto, width: , ...
- LeetCode Algorithm 04_Median of Two Sorted Arrays
There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted ...
- POJ 2284 That Nice Euler Circuit (LA 3263 HDU 1665)
http://poj.org/problem?id=2284 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&a ...
- (转)RMAN-06054: media recovery requesting unknown archived log for thread...
转自:http://blog.itpub.net/29800581/viewspace-1307267/ 使用rman执行recover database 的时候出现RMAN-06054的错误提示: ...