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中的方法都是项目中公共使用较多的方法。
Thinkphp模板中函数的使用的更多相关文章
- Thinkphp 模板中直接对数据处理 模板中使用函数 中文字符串截取
1.Thinkphp 模板中直接对数据处理:{$data.name|substr=0,3} 2.中文字符串截取函数:mb_substr=0,14,'utf-8' 3.中文字符串统计:iconv_str ...
- thinkphp模板中foreach循环没数据的错误解决
从控制器方法中$this->assign();函数将值传递给html模板 但是模板不显示数据,直接出来的是代码,效果就和html中写了php代码不能解析一样. 原来是我将thinkphp框架的引 ...
- thinkPHP 模板中的语法知识 详细介绍(十二)
原文:thinkPHP 模板中的语法知识 详细介绍(十二) 本章节:介绍模板中的语法,详细的语法介绍 一.导入CSS和JS文件 ==>记住常量的是大写 1.css link .js sc ...
- Thinkphp模板中使用自定义函数的方法
注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...
- thinkphp模板中使用自定义函数
注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...
- ThinkPHP - 模板使用函数
模板使用函数 1.模板引擎自带函数:仅仅是输出变量并不能满足模板输出的需要,内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用.用于模板标签的函数可以是P ...
- thinkPHP 模板中变量的使用
一.变量输出 1.标量输出(普通) 2.数组输出 {$name[1]} {$name['k2'] ...
- Thinkphp 模板中 if 嵌套层级过多的问题,嵌套3级就报错,取消层级限制
解决此问题有两种办法:1.第三层if换成eq或者原生<?php 'abc';> 2.修改Tp核心配置文件 1.第三层if换成eq或者原生<?php 'abc';> 如下图&l ...
- ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况
在ThinkPHP的模板中操作session时,可以参考ThinkPHP参考文档中的“模板—>系统变量”部分,在默认模板引擎中,语法如下: {$Think.session.user} //输出s ...
随机推荐
- 百度地图定位API,精度提高
我使用百度定位API DEMO上面好像就可以setCoorType("bd09ll");//百度地图坐标. 然后我找了下从其它坐标体系迁移到百度坐标. 问下: 1.那我还能不能在百 ...
- mysql 添加字段 修改字段为not null
添加一个字段 ALTER TABLE jw_user_role ADD zk_env VARCHAR(16); 修改字段为not null,还要把原来的类型也写出来 ALTER TABLE jw_us ...
- word2vec Explained: deriving Mikolov et al.'s negative-sampling word-embedding method
最近接到任务研究word2vec,感觉网络上关于这个的资料层次不齐,总感觉解释的都没有那么完善.或许就连作者本人也不是非常清楚为什么他的模型好使.论文中提到的negtive sampling给了我很大 ...
- asp.net 权限管理系统
asp.net webform ,基于组织机构.角色的权限管理系统. 网上找的,挺好.随拿来分享. https://bitbucket.org/zzhi/asp.net
- 【CodeForces】601 D. Acyclic Organic Compounds
[题目]D. Acyclic Organic Compounds [题意]给定一棵带点权树,每个点有一个字符,定义一个结点的字符串数为往下延伸能得到的不重复字符串数,求min(点权+字符串数),n&l ...
- 20155335俞昆《java程序设计》第十周总结
学号 2016-2017-2 <Java程序设计>第十周学习总结 ## 事实上网络编程,我们可以简单的理解为两台计算机相互通讯数据而已,对于程序员而言,掌握一种编程接口并使用一种编程模型相 ...
- Mac 上真机调试cocos2d-x-3.16的test程序
文章比较长,一个算是新手又不是新手的程序员的解决过程. 一 xcode中打开项目 首先,下载完成cocos2d-x-3.16之后,解压,然后在根目录build目录下双击cocos2d_tests.xc ...
- 洛谷 P3375 【模板】KMP字符串匹配
我这段时间因为字符串太差而被关了起来了(昨晚打cf不会处理字符串现场找大佬模板瞎搞,差点就凉了),所以决定好好补一下字符串的知识QAQ,暂时先学习kmp算法吧~ 题目链接:https://www.lu ...
- PAT L1-009 N个数求和(运用GCD进行通分)
题目链接:https://www.patest.cn/contests/gplt/L1-009 题目: 本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数“分子/分母”的形式给出的,你 ...
- HDU 1070 Milk (模拟)
题目链接 Problem Description Ignatius drinks milk everyday, now he is in the supermarket and he wants to ...