zoukankan      html  css  js  c++  java
  • 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中的方法都是项目中公共使用较多的方法。

  • 相关阅读:
    YbtOJ#573后缀表达【二分图匹配】
    CF605EIntergalaxy Trips【期望dp】
    YbtOJ#482爬上山顶【凸壳,链表】
    AT4996[AGC034F]RNG and XOR【FWT,生成函数】
    YbtOJ#903染色方案【拉格朗日插值,NTT,分治】
    YbtOJ#832鸽子饲养【凸包,Floyd】
    YbtOJ#463序列划分【二分答案,线段树,dp】
    CF618FDouble Knapsack【结论】
    P3214[HNOI2011]卡农【dp】
    YbtOJ#526折纸游戏【二分,hash】
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9517285.html
Copyright © 2011-2022 走看看