> php教程 > php手册 > 본문

thinkphp 前台html调用函数 格式化输出

WBOY
풀어 주다: 2016-06-21 08:46:25
원래의
1122명이 탐색했습니다.

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

模板变量的函数调用格式为:



XML/HTML代码
  1.  
  2. {$varnamefunction1function2=arg1,arg2,### }



    说明:

    { 和 $ 符号之间不能有空格 ,后面参数的空格就没有问题

    ###表示模板变量本身的参数位置

    支持多个函数,函数之间支持空格

    支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表

    支持变量缓存功能,重复变量字串不多次解析

    使用例子:



    XML/HTML代码
    1.  
    2. {$webTitlemd5strtouppersubstr=0,3}


      编译后的PHP代码就是:



      PHP代码
      1.  
      2. echo (substr(strtoupper(md5($webTitle)),0,3)); ?>




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



        XML/HTML代码
        1.  
        2. {$create_timedate=y-m-d,###}


          编译后的PHP是:



          PHP代码
          1.  
          2. echo (date(y-m-d,$create_time)); ?>


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

            TMPL_DENY_FUNC_LIST=>echo,exit,halt

            多个函数之间使用半角逗号分隔即可。


            并且还提供了在模板文件中直接调用函数的快捷方法,无需通过模板变量,包括两种方式:

            1、执行方法并输出返回值:

            格式:{:function(…)}

            例如,输出U方法的返回值:



            XML/HTML代码
            1.  
            2. {:U('User/insert')}


              编译后的PHP代码是


              PHP代码
              1.  
              2. echo U('User/insert');?>




                2、执行方法但不输出:

                格式:{~function(…)}

                例如,调用say_hello函数:



                XML/HTML代码
                1.  
                2. {~say_hello('ThinkPHP')}


                  编译后的PHP代码是:



                  PHP代码
                  1.  
                  2. say_hello('ThinkPHP');?>



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!