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

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

{$varname|function1|function2=arg1,arg2,### }

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

###表示模板变量本身的参数位置 支持多个函数,函数之间支持空格 支持函数屏蔽功能,在配置文件中可以配置禁止使用的函数列表 支持变量解析缓存功能,重复变量字串不多次解析

使用例子:

{$webTitle|md5|strtoupper|substr=0,3}

编译后的PHP代码就是:

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

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

编译后的PHP是:

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

TMPL_DENY_FUNC_LIST=>"echo,exit,halt"

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

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

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

格式:{:function(…)}

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

{:U('User/insert')}

编译后的PHP代码是

2、执行方法但不输出:

格式:{~function(…)}

例如,调用say_hello函数:

{~say_hello('ThinkPHP')}

编译后的PHP代码是:

think PHP全栈开发教程,【Thinkphp教程】模板中使用函数相关推荐

  1. flask python web优品课堂_Python Flask Web网站编程全栈开发系列高清视频教程-价值2499...

    0 s: n8 F- K0 _5 i( I Python Flask Web网站编程全栈开发系列高清视频教程& ?- Y2 }3 U1 k9 t/ k! i 这是2016年11月第二期,跟第三 ...

  2. python web后端和vue哪个难_全栈开发用纯后端模板与Vue+后端框架组合哪个好?

    全栈开发没有明确的定义,但应该指的就是前端+后端+数据库.所以只用纯后端框架,不算全站开发.至少在Angularjs出现以前,我没听说过全站开发这个词. 你问题描述中的感觉是对的,这就是前后端分离的好 ...

  3. Python全栈开发-Python基础教程-07 面向对象初级

    面向对象初级 一. 面向对象 面向对象编程(Object-oriented Programming,简称 OOP),是一种封装代码的方法.其实,在前面章节的学习中,我们已经接触了封装,比如说,将乱七八 ...

  4. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)...

    昨日内容回顾 1.三种引入方式1.行内js <div onclick = 'add(3,4)'></div>//声明一个函数function add(a,b){}2.内接js& ...

  5. 收藏!最详细的Python全栈开发指南 看完这篇你还不会Python全栈开发 你来打我!!!

    Python Web全栈开发入门实战教程教程    大家好,我叫亓官劼(qí guān jié ),这个<Python Web全栈开发入门实战教程教程>是一个零基础的实战教程,手把手带你开 ...

  6. 两个读书笔记:springboot+vue.js分布式组件全栈开发训练营 + 大数据开发基础

    (springboot+vue.js分布式组件全栈开发训练营原文在notion中, 大数据开发在思维导图中, 这个博客只是保存, 无法阅读. ) what is different between s ...

  7. zybo的linux开发教程,Zybo全栈开发入门教程——连载三:创建Linux设备驱动和应用程序...

    作者:Commanderfranz,编译: kenshin 通过前面两篇文章我们不仅创建的自定义IP模块还移植了Linux操作系统,今天这篇文章的内容是将这两部分联系起来,其实我们创建的myLed I ...

  8. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...

  9. python全栈开发实战pdf老男孩_Python教程:2017年老男孩最新全栈python第2期视频教程全套完整版...

    教程名称:2017年老男孩最新全栈python第2期视频教程全套完整版 教程目录: day01-python 全栈开发–基础篇 day02-python 全栈开发-基础篇 day03-python 全 ...

  10. 2018python教程百度云盘_『求老2018男孩Python最新全栈开发全套视频教程』python开发 百度云教程...

    求最新python人工智能视频教程网盘链接 定的事实证明,Python更适合初学者,Python语言并不会让初学者感到晦它突破了传序语言入门困难的语法屏障,初学者在学习Python的同时,还能够锻炼自 ...

最新文章

  1. Lec6-待学习的堆排序
  2. 为什么实际频率只有1.8G的AMD 2500+处理器运行速度比实际频率2.4G的P4-2.4B还快
  3. .Net Framework学习的10个建议
  4. CentOS中TFTP配置
  5. 21.为什么要用swagger,它解决了什么问题?
  6. 卡片书签——简洁的 Chrome 书签扩展
  7. C#3.0学习(2)---对象集合初始化器
  8. matlab保存矩阵为txt,matlab矩阵保存为txt
  9. SMOTE算法(人工合成数据)
  10. windows7 C盘清理(图解)
  11. 2021软考软件设计师真题
  12. IIS 405 Method Not Allowed
  13. s3cmd 安装使用指南
  14. 逆向CrackMe-01写注册机
  15. 怎么样添加桌面我的计算机,怎么样把我的电脑添加到桌面上
  16. 机器学习——《西瓜书》
  17. 总结中间方攻击和CA认证中心
  18. iPhone 电池和性能
  19. 【大话Mysql面试】-常见SQL语句书写
  20. 【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz

热门文章

  1. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第4章-连通性保持下多移动机器人群集控制
  2. STM32 基础系列教程 20 - RTC
  3. Vivado篇(一)Notepad++编写的Verilog文件导入Vivado,中文注释乱码问题
  4. C语言 联合体使用技巧之位带操作
  5. 【干货】原生js做的一维数组对象,二维数组对象的模糊查询(前端网备份)...
  6. 授权公钥登录,sudo权限脚本
  7. 太阳表面是怎样的呢?
  8. [01分数规划]【学习笔记】
  9. Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
  10. HDOJ/HDU 2566 统计硬币(公式~遍历~)