ThinkPHP框架-1

1.变量

1> 普通变量

声明:

a>$smarty->assign();

b>{assign var='变量名' value='值'}

取值:

{$变量名}

2>保留变量

$smarty

作用:1)可以获取用户请求的变量

{$smarty.get.变量名} {$smarty.post.变量名} {$smarty.request.变量名}

2)可以获取会话和cookie

{$smarty.session.变量名} {$smarty.cookies.变量名}

3)获取PHP的环境变量

{$smarty.server.变量名}

4)常量

{$smarty.const.变量名}

5)其他

{$smarty.now} {$smarty.version} {$smarty.ldelim} {$smarty.rdelim}

3>配置变量

定义:

a)配置变量放在configs目录下

b)可以定义全局和局部变量(节),用[]表示节

c)先定义全局变量,再定义局部变量

取值:

a)导入配置文件 {config load file='地址' section='节名称'}

b){#配置变量名#}

2.数组

smarty中数组的声明和PHP是一样的,在模板中取值的方法有两个

1){数组[下标]}

2){数组.下标}

3)foreach()

语法:

{foreach 数组名=>$k as $v}

{foreachelse}

没有数组输出

{/foreach}

内部关键字:

值变量@iteration 从1开始增长

值变量@index 从0开始增长

值变量@first 第一行就返回1

值变量 @last 最后一行就返回1

值变量@total 一共有多少条记录

值变量@show 如果数组可以变量就返回true 否则返回false

4.section循环

语法:

{section name=' 自定义名称' loop='被遍历的数组'}

{被遍历的数组[自定义名称]}

{sectionelse}

内部关键字:

{$smarty.section.自定义变量名称.iteration}{$smarty.section.自定义变量名称.index}{$smarty.section.自定义变量名称.first}
{$smarty.section.自定义变量名称.last}

注意:section循环只能变量索引数组 不能变量关联数组

5.判断

{if}

{elseif 条件}

{else}

{/if}

6.smarty的运算符和PHP运算符是一样的

7.循环语法

{for($i1 to 10 step 2)}

{/for}

{while 条件}

{/while}

8.{html_checkboxes name='' output='' values='' selected=''}

可以换成

{html_checkboxes name='' options='' selected=''}

{html_radio}

{html_options}和{html_checkboxes}用法一样

9.把html和smarty结合起来

10.布局

1)通过{block name=''}这个标签来实现布局

2)一个布局文件可以有多个block,通过名字来替换

3)在子页面中 通过{extends file='布局文件的路径'}继承布局文件

4)通过名字来替换布局文件中的block

11.包含文件

{include file='包含文件地址'}

注意:如果公共部分多用布局文件 如果公共部分少用包含文件

12.变量修饰器

时间:{$smarty.now|data_format:"%Y-%m-%d %H:%M:%S"}

转换大写{%str|upper}

转换小写{%str|lower}

字符串截取{$str|truncate:10 :'...':true:true}

13.缓存

1)开启缓存 $smarty->caching=1|true

缓存放在cache文件夹下

2)缓存更新

a)删除对应的缓存文件

b)修改模板 布局 包含 配置文件 缓存会自动更新

c)强制更新 $smarty->force_cache=true

d)设置缓存的过期时间

你可能感兴趣的:(ThinkPHP框架-1)