一些使用THinkPHP的心得和技巧(二)

循环输出
volist 还有别名 iterate

模版赋值:
$User = D('User')
$list = $User->findAll()
$this->assign('list',$list)

模版定义:
<iterate ">name="list" id="vo">
{$vo.name}
</iterate>

注意 name 和 id 表示的含义
// 输出 list 的第 5~15 条记录
<iterate name="list" id="vo" offset="5" length='10'>
{$vo.name}
</iterate>

// 输出偶数记录
<iterate name="list" id="vo" mod="2" >
<eq name="mod" value="1">
{$vo.name}
</eq>
</iterate>

// 输出 key
<iterate name="list" id="vo" key="k" >
{$k}.{$vo.name}
</iterate>

//子循环输出
<volist name="list" id="vo">
<iterate name="vo['sub']" id="sub">
{$sub.name}
</iterate>
</volist>

Switch 标签
<switch name="name">
<case value="1">value1</case>
<case value="2">value2</case>
<default />default
</switch>
其 中 name 属性可以使用函数以及系统变量,例如:
<switch name="Think.get.userId|abs">
<case value="1">admin</case>
<default />default
</switch>
也 可以对 case 的 value 属性使用变量,例如:
<switch name="userId">
<case value="$adminId">admin</case>
<case value="$memberId">member</case>
<default />default
</switch>

比较标签
<eq name="name" value="value">value</eq> // name 变量的值等于 value 就输出
<neq name="name" value="value">value</neq> // name 变量的值不等于 value 就输出
<gt name="name" value="5">value</gt> // name 变量的值大于 5 就输出
<egt name="name" value="5">value</egt> // name 变量的值大于等于 5 就输出
<lt name="name" value="5">value</lt> // name 变量的值小于 5 就输出
<elt name="name" value="5">value</elt> // name 变量的值小于等于 5 就输出

//其实上面的所有标签都是 compare 标签的别名
// 其中 type 属性的值就是上面列出的判断标签名称
<compare name="name" value="5" type="eq">value</compare> // name 变量的值等于 5 就输出

If标签
<if condition="$name eq 1 "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>

时间: 2024-09-08 13:22:36

一些使用THinkPHP的心得和技巧(二)的相关文章

一些使用THinkPHP的心得和技巧

找了一些使用THinkPHP的心得和技巧,分享给大家甚至一些手册上没提到的,这里也有 约定:1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致2.控制器的类名以http://www.aliyun.com/zixun/aggregation/16339.html">Action为后 缀3.模型的类名以Model为后缀,类名第一个字母须大写4.数据库表名全部采用小写, 如:数据表名: 前缀_表名模型类名: 表名Model 注:这里的表名第一个字母要大写创建对象:

一些使用THinkPHP的心得和技巧(四)

ThinkPHP的CURD易忽视点小结 1.不定义方法,直接渲染模板. 对于没有任何实际逻辑的操作方法,我们只需要直接定义对应的模板文件就行了,比如表单页面,这个页面一般不会有变量向模板中输出,所以,我们没有必要再去写一个对应的空方法然后$this->display()了. 2.简介create方法. 假设我们实例化的模型为$model,那么ThinkPHP可以直接通过$model->add()的方式向数据库中添加数据,那么如果我们在$model->add()之前调用$model->

一些使用THinkPHP的心得和技巧(三)

add方法返回主键(id)的值在往6184.html">数据表中添加数据时调用add方法,默认返回值就是刚添加的id值,就不用再去查询了. save方法返回值的判断在修改数据时,如果修改成功返回的是1,不成功则是0,如果没用做任何的修改就保存了,那么返回值还是0. 查询后置方法详解如_after_select,_after_insert,_after_update,_after_delete,_after_find等巧妙地利用这些方法可以简化开发用_after_select(&$r

分享有关微博推广的心得和技巧

摘要: 很多做网站优化的站长们都会感觉到,最近一段时间百度搜索引擎的巨大变化.自从淘宝商城动乱后,百度搜索引擎就开始收录淘宝店铺了.不过从最近收录的结果和排名来看,百度的 很多做网站优化的站长们都会感觉到,最近一段时间百度搜索引擎的巨大变化.自从"淘宝商城动乱"后,百度搜索引擎就开始收录淘宝店铺了.不过从最近收录的结果和排名来看,百度的此举应该属于试运行阶段,而且所给予淘宝店铺的权重也是非常低的. 百度搜索引擎的另外一个大变动,那就是开始大量收录微博平台了.新浪,腾讯,网易,搜狐等大型

thinkPHP 模板的使用技巧(十三)

原文:thinkPHP 模板的使用技巧(十三) 模板的使用技巧:页面跳转 .模板包含.模板渲染.模板的继承            页面跳转<a href='__URL__/index'>我要跳转到首页面,用这个方法!</a> 一.模板包含<include file="完整模板文件名" /><include file="./Tpl/default/Public/header.html" /> //完整路径<incl

【Silverlight】Bing Maps开发应用与技巧二:自定义图钉标注控件和动态ToolPa

[Silverlight]Bing Maps开发应用与技巧二:自定义图钉标注控件和动态ToolPanel 在Bing Maps Silverlight Control中以及为我们提供了地图图钉控件Pushpin,我曾经在<使用图钉层(Pushpin layer)及地图图层(MapLayer)>一文中介绍过他的使用方法,本篇主要介绍如何自定义图钉标注控件以及对他的一些扩展,比如实现图钉的动态ToolPanel. 关于图钉的UI外观的设计这里就不详细介绍了,通过Blend可以快速的构建UI界面.首

使用Office2010截图、抠图技巧二:移除图片中的背景

技巧二:移除图片中的背景 对于已插入Word文档的图片,我们可以很方便的去除图片中的背景,这样就不需要动用庞大的photoshop,更妙的是还可以添加或去除水印. 选择图片,切换到"PictureTools"选项卡,可以在这里发现名为"BackgroundRemoval"的按钮,单击 "BackgroundRemoval"按钮,很快就可以把想要的图片抠出来,是不是很神奇?

我的MYSQL学习心得(十二)

原文:我的MYSQL学习心得(十二) 我的MYSQL学习心得(十二) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十一)   这一篇<我的MYSQL学习心得(二)>将会讲解MYSQL的触发器   触发器是一个特殊的存储

JavaScript 七大技巧(二)_javascript技巧

上篇文章给大家介绍了JavaScript 七大技巧(二),写JavaScript代码已经很久了,都记不起是什么年代开始的了.对于JavaScript这种语言近几年所取得的成就,我感到非常的兴奋;我很幸运也是这些成就的获益者.我写了不少的文章,章节,还有一本专门讨论它的书,然而,我现在依然能发现一些关于这种语言的新知识.下面的描述的就是过去让我不由得发出"啊!"的感叹的编程技巧,这些技巧你应该现在就试试,而不是等着未来的某个时候偶然的发现它们. var band = { "na