循环输出
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>

C操作
操作(动态)配置: 主要用于Action方法里面
获取:
C('配置参数')
设置:
C('配置参数 ',新值)

A操作
快速创建Action对象:
$action = A('User');
等效于
$action = new UserAction();

D操作
快速创建模型数据对象:
$model = D('User');
等效于
$model = new UserModel();

S操作
快速操作缓存方法
获取:
S('name')
设置:
S('name','value');
删 除:
S('name',NULL);

F操作
快速文件数据保存方法
使用方法与S操作一样

L操作
快速操作语言变量
获取:
L('语言变量');
设置:
L('语言变量','值');
如: L('USER_INFO','用户信息'); //设置名称为USER_INFO的语言变量
批量赋值:
$arr['语言变量1'] = '值1';
$arr['语言变量2'] = '值2';
L($arr);

ThinkPHP系统常量

THINK_PATH // ThinkPHP 系统目录
APP_PATH // 当前项目目录
APP_NAME // 当前项目名称
MODULE_NAME //当前模块名称
ACTION_NAME // 当前操作名称
TMPL_PATH // 项目模版目录
LIB_PATH // 项目类库目录
CACHE_PATH // 项目模版缓存目录

CONFIG_PATH //项目配置文件目录
LOG_PATH // 项目日志文件目录
LANG_PATH // 项目语言文件目录
TEMP_PATH //项目临时文件目录
PLUGIN_PATH // 项目插件文件目录
VENDOR_PATH // 第三方类库目录
DATA_PATH // 项目数据文件目录
IS_APACHE // 是否属于 Apache
IS_IIS //是否属于 IIS
IS_WIN //是否属于Windows 环境
IS_LINUX //是否属于 Linux 环境
IS_FREEBSD //是否属于 FreeBsd 环境
NOW_TIME // 当前时间戳
MEMORY_LIMIT_ON // 是否有内存使用限制

MEMORY_LIMIT_ON // 是否有内存使用限制
OUTPUT_GZIP_ON // 是否开启输出压缩
MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC
THINK_VERSION //ThinkPHP 版本号
LANG_SET // 浏览器语言
TEMPLATE_NAME //当前模版名称
TEMPLATE_PATH //当前模版路径
__ROOT__ // 网站根目录地址
__APP__ // 当前项目(入口文件)地址
__URL__ // 当前模块地址
__ACTION__ // 当前操作地址
__SELF__ // 当前 URL 地址
TMPL_FILE_NAME //当前操作的默认模版名(含路径)
WEB_PUBLIC_URL //网站公共目录
APP_PUBLIC_URL //项目公共模版目录

预定义常量
WEB_LOG_ERROR=0 // 错误日志类型
WEB_LOG_DEBUG=1 // 调试日志类型
SQL_LOG_DEBUG=2 // SQL 日志类型
SYSTEM_LOG=0 // 系统方式记录日志
MAIL_LOG=1 // 邮件方式记录日志
TCP_LOG=2 // TCP 方式记录日志
FILE_LOG=3 // 文件方式记录日志
DATA_TYPE_OBJ=1 // 对象方式返回
DATA_TYPE_ARRAY=0 // 数组方式返回
URL_COMMON=0 // 普通模式 URL
URL_PATHINFO=1 // PATHINFO URL
URL_REWRITE=2 // REWRITE URL
HAS_ONE=1 // HAS_ONE 关联定义
BELONGS_TO=2 // BELONGS_TO 关联定义
HAS_MANY=3 // HAS_MANY 关联定义
MANY_TO_MANY=4 // MANY_TO_MANY 关联定义
EXISTS_VAILIDATE = 0 // 表单存在字段则验证
MUST_VALIDATE = 1 // 必须验证
VALUE_VAILIDATE = 2 // 表单值不为空则验证

总结ThinkPHP使用技巧经验分享(二)的更多相关文章

  1. thinkphp开发技巧经验分享

    thinkphp开发技巧经验分享 www.111cn.net 编辑:flyfox 来源:转载 这里我给大家总结一个朋友学习thinkphp时的一些笔记了,从变量到内置模板引擎及系统变量等等的笔记了,同 ...

  2. 总结ThinkPHP使用技巧经验分享(一)

    约定:1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致2.控制器的类名以Action为后 缀3.模型的类名以Model为后缀,类名第一个字母须大写4.数据库表名全部采 ...

  3. 总结ThinkPHP使用技巧经验分享(三)

    add方法返回主键(id)的值在往数据表中添加数据时调用add方法,默认返回值就是刚添加的id值,就不用再去查询了. save方法返回值的判断在修改数据时,如果修改成功返回的是被修改的记录数0,1,2 ...

  4. 关于写SpringBoot+Mybatisplus+Shiro项目的经验分享二:问题1

    框架: SpringBoot+Mybatisplus+Shiro 简单介绍:关于写SpringBoot+Mybatisplus+Shiro项目的经验分享一:简单介绍 添加时,如果失败,不能正确跳转 c ...

  5. ThinkPHP使用技巧经验总结

    add方法返回主键(id)的值 在往数据表中添加数据时调用add方法,默认返回值就是刚添加的id值,就不用再去查询了. save方法返回值的判断 在修改数据时,如果修改成功返回的是1,不成功则是0,如 ...

  6. MySQL 性能优化的最佳20多条经验分享(二)(转)

    11. 尽可能的使用 NOT NULL 除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL.这看起来好像有点争议,请往下看. 首先,问问你自己"Empt ...

  7. 关于启用 HTTPS 的一些经验分享(二)

    转载: 关于启用 HTTPS 的一些经验分享(二) 几天前,一位朋友问我:都说推荐用 Qualys SSL Labs 这个工具测试 SSL 安全性,为什么有些安全实力很强的大厂家评分也很低?我认为这个 ...

  8. 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享

    CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起    这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...

  9. 我的秋招经验分享(已拿BAT头条网易滴滴)

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

随机推荐

  1. Django分析之三级下拉菜单选择省/市/县

    今天遇到了一个一直想做却没有机会去做的功能,今天完成了便记录下来. 那这次是具体是个什么功能呢?其实还是很简单的效果,就是在用户注册的时候可以选择省/市/县,很简单的一个小功能. 那现在就开始了~首先 ...

  2. Mac下各种网络命令的使用

    Mac下各种网络命令的使用(http://blog.51yip.com/linux/745.html) pingwww.baidu.com 会一直ping下去,和windows不一样, windows ...

  3. win7 64 安装mysql-python:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    今天想在在win7 64位环境下使用python 操作mysql 在安装MySQL-python 时报错: _mysql.c _mysql.c(42) : fatal error C1083: Can ...

  4. 常见的HTTP Headers

    协议就是交互双方协商好要遵守的规范,打个不恰当的比方,就好像交谈双方约定要使用的同一种语言.如果我讲英文,你讲中文,大家都相互听不懂,交流那就得嗝屁了. HTTP协议就是需要交互的客户端(通常是浏览器 ...

  5. webform 简单控件

    html中12个表单元素添加runat="server"后称为控件 Lable 编译之后是 <span></span> 属性:CssClass  编译成 c ...

  6. 安卓ndk参考资料

    http://developer.samsung.com/technical-doc/view.do;jsessionid=xKa-L5xQDvdrSyc1sN71lHAXjcv2YUH7I92zjH ...

  7. PHP 使用 mcrypt 扩展中的 mcrypt_encrypt() 和 mcrypt_decrypt() 对数据进行加密和解密

    <?php /* 使用 mcrypt 扩展中的 mcrypt_encrypt() 和 mcrypt_decrypt() 对数据进行加密和解密 */ // 加密 $algorithm = MCRY ...

  8. 再谈java两种变量(基本类型和引用类型)(综合各路大神)

    基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值. int  a:   a=250: //声明变量a的同时,系统给a分配了数据空间. 引用类型: 是一个对象类型,值是什么呢? ...

  9. 掌握Thinkphp3.2.0----自动验证

    自动验证是TP在create数据的时候,自动对数据进行验证. TP提供了两种验证方式:静态验证($_validate属性----自定义的模型的)和validate()方法 1.静态验证-----$_v ...

  10. Approaches to Vector Computation

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION