zoukankan      html  css  js  c++  java
  • ThinkPHP

    模板使用函数

    1、模板引擎自带函数:
    仅仅是输出变量并不能满足模板输出的需要,内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用。用于模板标签的函数可以是PHP内置函数或者是用户自定义函数,和smarty不同,用于模板的函数不需要特别的定义。


    模板变量的函数调用格式为:
    {$varname|function1|function2=arg1,arg2,### }


    说明:
    { 和 $ 符号之间不能有空格 ,后面参数的空格就没有问题
    ###表示模板变量本身的参数位置
    支持多个函数,函数之间支持空格
    支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表
    支持变量解析缓存功能,重复变量字串不多次解析


    使用例子:
    {$webTitle|md5|strtoupper|substr=0,3}
    编译后的PHP代码就是:
    <?php echo (substr(strtoupper(md5($webTitle)),0,3)); ?>


    注意函数的定义和使用顺序的对应关系,通常来说函数的第一个参数就是前面的变量或者前一个函数调用的返回结果,如果你的变量并不是函数的第一个参数,需要使用定位符号,

    例如:
    {$create_time|date="y-m-d",###}


    编译后的PHP是:
    <?php echo (date("y-m-d",$create_time)); ?>


    函数的使用没有个数限制,但是可以允许配置TMPL_DENY_FUNC_LIST定义禁用函数列表,系统默认禁用了exit和echo函数,以防止破坏模板输出,我们也可以增加额外的定义,

    例如:
    TMPL_DENY_FUNC_LIST=>"echo,exit,halt"
    多个函数之间使用半角逗号分隔即可。并且还提供了在模板文件中直接调用函数的快捷方法,这种方式更加直接明了,而且无需通过模板变量,包括两种方式:


    2、使用ThinkPHP内置函数(比如:U,S,I等)
    1、执行函数并输出返回值:
    格式:{:function(…)}


    例如,输出U函数的返回值:
    {:U('User/insert')}


    编译后的PHP代码是
    <?php echo U('User/insert');?>


    2、执行函数但不输出:
    格式:{~function(…)}


    例如,调用say_hello函数:
    {~say_hello('ThinkPHP')}


    编译后的PHP代码是:
    <?php say_hello('ThinkPHP');?>

  • 相关阅读:
    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
    Ubuntu 修改host并重启网络
    Ubuntu批量修改权限
    win10 vm 11 桥接模式配置
    Ubuntu获取root 权限,开机自动登入root
    ptxas fatal : Unresolved extern function Error 255
    Ubuntu 16.04 LTS安装 TeamViewer
    SSD win7优化步骤
    正则表达式
    C语言中,float在内存中的储存方式
  • 原文地址:https://www.cnblogs.com/KTblog/p/5185000.html
Copyright © 2011-2022 走看看