Think PHP5.0 模板系统变量输出和函数使用

模板

thinkphp内置了一个XML的性能卓越的模板引擎,专门为ThinkPhp服务的内置模板引擎,使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。

模板定位

模板文件定义

每个模块的模板文件是独立的,为了对模板文件更加有效的管理,Think PHP对模板文件进行目录划分,默认的模板文件定义规则是:

试图目录/控制器名(小写)/操作名(小写)+模板后缀

默认的试图目录是模块的view目录,框架默认视图文件后缀名是.html(增加方式看以前笔记应该第二个)


模板标签

模板文件可以包含普通标签和标签库标签,标签的定界符都可以重新配置。

普通标签

普通标签用于变量输出和模板注释,普通模板标签默认以左右{}为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模板标签直接输出,如:

{$name} , {$vo.name} , {$vo.[ 'name ' ]} 都是属于正确的标签

{    $name} , {     $vo.name}  则不属于。

要更改普通标签的起始标签和结束标签。(看以前笔记应该是第二个)修改后,对应的{} 需要改成对应修改。


标签库标签

标签库标签可以用于模板变量输出,文件包含,条件控制,循环输出等功能,而且完全可以自己扩展功能,

5.0版本的标签库默认的定界符和普通标签一样使用 { 和 } ,是为了在编辑器里面编辑不至于报错,当然也可以进行修改


系统变量

系统变量的输出

普通的模板变量需要先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以 { $Think}打头,如

{$Think . server . srever_name} //输出$_SERVER[ ' SERVER_NAME ' ] 变量

{$Think . session . user_id} //输出$_SESSION[ ' user_id ' ] 变量

{$Think . get . pageNumber} //输出$_GET[ ' pageNumber ' ] 变量

{$Think . cookie . name} //输出$_COOKIE[ ' name ' ] 变量

支持输出$_SERVER , $_SESSION ,$_GET ,$_COOKIE ,$ENV , $REQUEST  和 $POST变量。

常量输出

{ $Think . const . APP_PATH } 或者直接使用 { $Think . APP_PATH}



配置输出

{ $Think . config . default_moodle } 

{ $Think . config . default_controller } 

使用函数

往往会对模板输出变量使用函数,如:


如果函数有多个参数需要调用,则使用:

 
  1. {$create_time|date="y-m-d",###}

表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:

 
  1. <?php echo (date("y-m-d",$create_time)); ?>

如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:

 
  1. {$data.name|substr=0,3}

表示输出

 
  1. <?php echo (substr($data['name'],0,3)); ?>

虽然也可以使用:

 
  1. {$data.name|substr=###,0,3}

但完全没用这个必要。

还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:

 
  1. {$name|md5|strtoupper|substr=0,3}
  2. substr这里表示截取前三位

编译后的结果是:

 
  1. <?php echo (substr(strtoupper(md5($name)),0,3)); ?>

函数会按照从左到右的顺序依次调用。

如果你觉得这样写起来比较麻烦,也可以直接这样写:

 
  1. {:substr(strtoupper(md5($name)),0,3)}

时间:2018.4.27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值