Thinkphp模板中函数的使用

Thinkphp模板中函数的使用

https://www.cnblogs.com/jingmin/p/6440673.html

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中的方法都是项目中公共使用较多的方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101473.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux防挂马软件,Linux利用Python脚本检测网站挂马程序

    linux防挂马软件,Linux利用Python脚本检测网站挂马程序部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员第一时间发现,可结合crontab或nagios等工具。程序测试如下:#pythoncheck_change.pyUsage:pythoncheck_change.pyupdate/home/wwwrootpythoncheck…

    2022年9月28日
    1
  • NOIP2011 提高组合集「建议收藏」

    NOIP2011 提高组合集「建议收藏」NOIP2011提高组合集D1T1铺地毯模拟,题目让你干啥你就干啥#include<iostream>#include<cstdio>usingnamespacestd;intx[100010],y[100010],dx[100010],dy[100010];intmain(){intn;…

    2022年9月24日
    4
  • navate15激活码【最新永久激活】

    (navate15激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~AE…

    2022年3月28日
    83
  • n皇后问题描述_启发式算法解决N皇后问题

    n皇后问题描述_启发式算法解决N皇后问题在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。SampleInput

    2022年9月29日
    2
  • 编译原理学习笔记之上下文无关文法

    编译原理学习笔记之上下文无关文法一 上下文无关文法 1 定义上下文无关文法是这样一个四元组 VT VN S P VT 终结符集合 非空有限集合 记号名是其同义词 VN 非终结符集合 非空有限集合且 VT VN S 开始符号 P 产生式集合 形如 A gt a A VN a VN VT 其中 终结符可以理解为词法单元 即是符号的最终形式 非终结符就是匹配终结符过程中引入的中间量 例 i

    2025年8月1日
    4
  • 归一化函数normalize详解_求归一化常数A

    归一化函数normalize详解_求归一化常数A1.归一化归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布。归一化有同一、统一和合一的意思。归一化的目的,是使得没有可比性的数据变得具有可比性,同时又保持相比较的两个数据之间的相对关系,……

    2022年10月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号