Skip to content

Latest commit

 

History

History
50 lines (31 loc) · 821 Bytes

4.1.前置编译函数.md

File metadata and controls

50 lines (31 loc) · 821 Bytes

编译函数

前置模版函数

  • 视图编译时就执行的函数
  • 函数返回结果会保存到编译缓存文件
  • 只用于配合模版解析

定义方法

  • {C:函数名(函数参数列表)}
  • {#:函数名(函数参数列表)}
<b>{C:U('index')}</b>
<b>{#:U('index')}</b>
//编译为: 
<b>/index</b>

<b>{C:var_export('qingmvc',true)}</b>
<b>{#:var_export('qingmvc',true)}</b>
//编译为 : 
<b>string(7) "qingmvc"</b>

支持的函数参数

  • 布尔值: true/false字符会强制转换为布尔值
  • null: null
  • 数组: 字符串会解析成json再json_decode为数组

不支持

  • 不支持变量$
{C:U(null,"add","doAdd")}
{C:F(true,false,"add",array(),['plugin'=>'ppp'])}
{C:F(true,false,"add",['a1'=>'aaa','b1'=>'bbbb'])}

安全性问题

  • 不支持eval执行模式