# 使用函数
我们往往需要对模板输出变量使用函数,
可以使用:
```php
{$data.name|md5}
```
编译后的结果是:
```php
<?php echo (md5($data['name'])); ?>
```
如果函数有多个参数需要调用,则使用:
```php
{$create_time|date="y-m-d",###}
```
表示date函数传入两个参数,每个参数用逗号分割,这里第一个参数是y-m-d,第二个参数是前面要输出的create_time变量,因为该变量是第二个参数,因此需要用###标识变量位置,编译后的结果是:
```php
<?php echo (date("y-m-d",$create_time)); ?>
```
如果前面输出的变量在后面定义的函数的第一个参数,则可以直接使用:
```php
{$data.name|substr=0,3}
```
表示输出
```php
<?php echo (substr($data['name'],0,3)); ?>
```
虽然也可以使用:
```php
{$data.name|substr=###,0,3}
```
但完全没用这个必要。
还可以支持多个函数过滤,多个函数之间用“|”分割即可,例如:
```php
{$name|md5|strtoupper|substr=0,3}
```
编译后的结果是:
```php
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
```
函数会按照从左到右的顺序依次调用。
如果你觉得这样写起来比较麻烦,也可以直接这样写:
```php
{:substr(strtoupper(md5($name)),0,3)}
```
>变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。
- 前言
- 基础
- 关于MuuCmf
- 获取MuuCmf
- 环境要求
- 目录结构
- 安装
- 开发规范
- 控制器
- 控制器定义
- 前置和后置操作
- AJAX返回
- Action参数绑定
- 伪静态
- URL大小写
- Url生成
- 跳转和重定向
- 输入变量
- 请求类型
- 空操作
- 空控制器
- 插件控制器
- 操作绑定到类
- 模型
- 模型的定义
- 模型实例化
- 字段定义
- 连接数据库
- 切换数据库
- 分布式数据库支持
- 连贯操作
- WHERE
- TABLE
- ALIAS
- DATA
- FIELD
- ORDER
- LIMIT
- PAGE
- GROUP
- HAVING
- JOIN
- UNION
- DISTINCT
- LOCK
- CACHE
- COMMENT
- RELATION
- USING
- fetchSql
- TOKEN
- STRICT
- INDEX
- 命名范围
- CURD操作
- 数据创建
- 数据写入
- 数据读取
- 数据更新
- 数据删除
- ActiveRecord
- 字段映射
- 查询语言
- 查询方式
- 表达式查询
- 快捷查询
- 区间查询
- 组合查询
- 统计查询
- SQL查询
- 动态查询
- 子查询
- 自动验证
- 自动完成
- 参数绑定
- 虚拟模型
- 模型分层
- 视图模型
- 关联模型
- 高级模型
- Mongo模型
- 视图
- 模板定义
- 模板主题
- 模板赋值
- 模板渲染
- 获取模板地址
- 获取内容
- 模板引擎
- 模板
- 变量输出
- 系统变量
- 使用函数
- 默认值输出
- 使用运算符
- 标签库
- 模板继承
- 修改定界符
- 三元运算
- 包含文件
- 内置标签
- Volist标签
- Foreach标签
- For标签
- Switch标签
- 比较标签
- 范围判断标签
- IF标签
- Present标签
- Empty标签
- Defined标签
- Assign标签
- Define标签
- 标签嵌套
- import标签
- 使用PHP代码
- 原样输出
- 模板注释
- 模板布局
- 模板替换
- 模块开发
- 模块的定义
- 开发规范
- 后台构建器Builder
- 安装与卸载
- 插件开发
- REST API
- RESTAPI定义
- 后台使用指南
- 二次开发指南
- 官方模块手册