Thinkphp模板中函数的使用
1.在模板中使用php函数
在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数
1.1对输出模板使用php函数
{$data.name|md5} //把模板中的name变量进行md5加密
把这句话翻译成php语言:
<?php echo (md5($data['name'])); ?>
1.2函数中多个参数需要调用
1.2.1将前面输出的变量当后面函数的第二个参数使用
{$create_time|date="y-m-d",###}
解释:date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d
,第二个参数是前面要输出的create_time
变量,因为该变量是第二个参数,因此需要用###标识变量位置。
翻译成php语言:
<?php echo (date("y-m-d",$create_time)); ?>
1.2.2将前面输出的变量当后面函数的第一个参数使用
{$data.name|substr=0,3}
或者
{$data.name|substr=###,0,3}
翻译成php语言
<?php echo (substr($data['name'],0,3)); ?>
1.3对一个变量进行多个函数的处理
{$name|md5|strtoupper|substr=0,3}
每个函数之间用丨符号隔开,且函数执行顺序是从左往右依次调用
或者:
{:substr(strtoupper(md5($name)),0,3)}
编译成php语言:
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
2.变量在模板中输出使用自定义函数
在项目中,除了一些php函数,我们也可以根据自己项目的实际需求,在项目应用目录/common/function.php中,写入自己自定义的函数
重点说明:{ 和 $ 符号之间不能有空格,后面参数的空格就没有问题;
###表示模板变量本身的参数位置 ;
支持多个函数,函数之间支持空格 ;
支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 ;
支持变量缓存功能,重复变量字串不多次解析。
2.1自定义函数的使用
简单的自定义函数和使用php函数基本一致。
2.2自定义函数的高级使用
{$varname|function1|function2=arg1,arg2,### }
翻译成php代码:
<?php echo (function2(function1(arg1,arg2,$varname)); ?>
2.3案例
我在function.php中写入一个方法
function Cate($cid){
$Cate=D('Cate');
$Cate=$Cate->where('id='.$cid)->find();
return $Cate['title'];
}
在模板中调用这个自定义函数:
{$vo.cid|cate=###}
我这只是举个例子,一般写在function中的方法都是项目中公共使用较多的方法。
最新文章
- ES6环境搭建及react-router学习
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961
- canvas 实现 柱状图
- VC++ 关于 ON_UPDATE_COMMAND_UI 相关的作用.
- SQL Server翻译目录
- Guid.NewGuid().ToString()的几种格式
- SendTextMessage如何打开记事本并显示指定内容
- C#语言的Image和byte数组的互相转换
- ANDROID_MARS学习笔记_S01原始版_010_ContentProvider
- ubuntu sudo
- windows下 Python 安装包的配置
- bootstrap固定响应式导航
- arm指令集
- 浅析Java中synchronized与static synchronized
- android wheelview实现三级城市选择
- post上传和压缩、插件模拟请求
- C/C#双色球
- jQuery选择器--简洁又全面(转)
- MVC Controller向View传递数据
- log4j每天,每小时产生一日志文件
热门文章
- MEF——.NET中值得体验的精妙设计
- 小米路由器设置DMZ主机 并在外网访问
- [LA3523/uva10195]圆桌骑士 tarjan点双连通分量+奇环定理+二分图判定
- 【BZOJ3191】【JLOI2013】卡牌游戏 [DP]
- Java 扑克牌发牌
- Coursera在线学习---第八节.K-means聚类算法与主成分分析(PCA)
- 【Python学习笔记】Coursera课程《Using Databases with Python》 密歇根大学 Charles Severance——Week4 Many-to-Many Relationships in SQL课堂笔记
- GLIBCXX_3.4.9&#39; not found - 解决办法
- OpenRCT2
- 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6150 Vertex Cover 二分图,构造