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

仅仅是输出变量并不能满足模板输出的需要,内置模板引擎支持对模板变量使用调节器和格式化功能,其实也就是提供函数支持,并支持多个函数同时使用。用于模板标签的函数可以是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');?>
时间: 2024-09-14 13:15:43

thinkphp 前台html调用函数 格式化输出的相关文章

OnItemSelectedListener 监听器下调用函数 怎么输出结果为空

问题描述 OnItemSelectedListener 监听器下调用函数 怎么输出结果为空 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.test_layout, container, false); spinner=(Spinner)view.fi

thinkphp模版调用函数方法

原文:thinkphp模版调用函数方法  {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0,3}取标题中前3个字符 {$times|date='Y-m-d H:i:s',###}将times时间戳转换为日期格式 ================================================== 冒号执行函数的用法:输出方法并执行返回值 {:U('user/insert'

sql时间格式化输出、Convert函数应用示例

  这篇文章主要介绍了sql时间格式化输出.Convert函数应用,需要的朋友可以参考下     这篇文章主要介绍了sql时间格式化输出.Convert函数应用,需要的朋友可以参考下   详细出处参考:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06  Select CONVERT(varchar(100), GE

zk 怎么用java 调用前台的js函数

问题描述 zk 怎么用java 调用前台的js函数 单位的项目用的zk框架,今天经理要求在界面中加入echarts图表,我想问下,后台java里怎么把json数据传到前台的js 函数里 解决方案 http://quzhan87com.iteye.com/blog/1061964 看这篇文章能解决你的问题. 解决方案二: 前台用ajax调用后台的java,接收后台的数据 解决方案三: http://zhidao.baidu.com/link?url=o8q9FOoe6FC6inMGrb6BPTrC

double类型-通过调用函数max_ab实现求a与b的最大值输出,并定义函数max_ab。

问题描述 通过调用函数max_ab实现求a与b的最大值输出,并定义函数max_ab. 从键盘输入两个double类型数据啊,a,b,通过调用函数max_ab实现求a与b的最大值输出,并定义函数max_ab. 解决方案 #include main () { void max_ab(float a,float b); float a,b; printf ("nnt请输入a,b用空格隔开:"); scanf ("%f%f",&a,&b); max_ab(a

link中满足相同输入的函数必然输出相同,是不是就没有副作用了?是不是可以并行调用?

问题描述 link中满足相同输入的函数必然输出相同,是不是就没有副作用了?是不是可以并行调用? link中满足相同输入的函数必然输出相同,是不是就没有副作用了?是不是可以并行调用? 解决方案 不一定,比如: private int i; int add(int a, int b); { i = a + b; return a + b; } 这就有副作用.

thinkphp的dump函数无输出实例代码_php实例

Thinkphp的dump函数 /** * 浏览器友好的变量输出 * @param mixed $var 变量 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串 * @param string $label 标签 默认为空 * @param boolean $strict 是否严谨 默认为true * @return void|string */ function dump($var, $echo = true, $label = nul

2012-08-02 15:07 VC++ 往输出窗口打印调试信息调用函数

VC++提供了一个叫输出窗口的窗口,在调试程序和生成是可以看到输出信息,这个信息如果是MFC程序可以用TRACE宏来打印,在控制台程序里就没有了.所以我们直接调用API来实现上面的功能. 首先在程序中引入头文件windows.h或winbase.h 调用函数有两种版本 ANSI和UNICODE OutputDebugStringA OutputDebugStringW 自动版本 OutputDebugString 输出方法 OutputDebugString(_T("字符串")); O

php 格式化输出日期函数

php 格式化输出日期函数 public function format ($formatTo='standard',$timestamp = NULL) {   if ($timestamp!==NULL) {    $source = $timestamp;    if (!$source) {     return '';    }   } else {    $source = $this->timestamp;   }      switch (strtolower($formatTo