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)
上一篇 2021年6月11日 上午11:00
下一篇 2021年6月11日 下午12:00


相关推荐

  • 平面图,对偶图,「建议收藏」

    平面图,对偶图,「建议收藏」平面图定义:图存在一种形式,所有的边只在顶点处相交,那么这个图就是平面图。对偶图定义:对于每一个平面图,都有与其相对应的对偶图.我们假设上面的例图是图G,与其对应的对偶图G*,那么对于G*来说,G*上面的每一个点,对应的是G里面的每一个面.比如说下面就是G*.上面的点就是对偶图G里的点. 那么关于对偶图G*里的边呢?对于G中本来的每条边e,他是两个面…

    2022年5月9日
    96
  • QQ vx 刷屏神器!!

    QQ vx 刷屏神器!!在电脑上桌面新建一个txt,然后在里面写入下面的代码,写好后把文件的txt格式改为vbs格式即可次数别设太多,会卡死,间隔时间别太短setwshshell=wscript.createobject(“wscript.shell”)wshshell.AppActivate”王择玉”fori=1to2wscript.sleep100wshshell.sendKeys…

    2022年6月12日
    57
  • LVM 应用配置详解

    LVM 应用配置详解

    2021年8月5日
    51
  • 环境搭建 | Mac 环境变量配置

    环境搭建 | Mac 环境变量配置Mac环境变量配置mac一般使用bash作为默认shell,如果安装了ohmysh,则默认使用zshshell。Mac系统环境变量的加载顺序:/etc/profile/etc/paths~/.bash_profile~/.bash_login~/.profile~/.bashrc/etc/profile和/etc/paths是系统级别的,系统启动后就会…

    2022年6月17日
    26
  • 月之暗面正在内测Kimi K2

    月之暗面正在内测Kimi K2

    2026年3月12日
    2
  • VMware虚拟机下的CentOS7网络配置

    VMware虚拟机下的CentOS7网络配置一、虚拟机设置VMware界面最上面,选择虚拟机->设置:将网络连接改为桥接模式,如下图所示:二、查看主机DNS地址win+R输入cmd,启动命令行界面,输入ipconfig/all,查看主机DNS服务器地址,如下图所示:注意,由于本机是无线上网,此处为无线局域网的DNS服务器地址,记下此地址,后面有用。三、修改CentOS7网络配置文件1.在CentOS7中打开终端,输入cd/etc/sysconfig/network-scripts/…

    2022年5月13日
    57

发表回复

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

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