程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> thinkphp 前台html調用函數 格式化輸出

thinkphp 前台html調用函數 格式化輸出

編輯:關於PHP編程

thinkphp 前台html調用函數 格式化輸出


僅僅是輸出變量並不能滿足模板輸出的需要,內置模板引擎支持對模板變量使用調節器和格式化功能,其實也就是提供函數支持,並支持多個函數同時使用。用於模板標簽的函數可以是PHP內置函數或者是用戶自定義函數,和smarty不同,用於模板的函數不需要特別的定義。

模板變量的函數調用格式為:



XML/HTML代碼
  1.  
  2. {$varname|function1|function2=arg1,arg2,### }



    說明:

    { 和 $ 符號之間不能有空格 ,後面參數的空格就沒有問題

    ###表示模板變量本身的參數位置

    支持多個函數,函數之間支持空格

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

    支持變量緩存功能,重復變量字串不多次解析

    使用例子:



    XML/HTML代碼
    1.  
    2. {$webTitle|md5|strtoupper|substr=0,3}


      編譯後的PHP代碼就是:



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




        注意函數的定義和使用順序的對應關系,通常來說函數的第一個參數就是前面的變量或者前一個函數使用的結果,如果你的變量並不是函數的第一個參數,需要使用定位符號,例如:



        XML/HTML代碼
        1.  
        2. {$create_time|date=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');?>

                     

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved