循环输出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 // 表单值不为空则验