模板经 \Phpcmf\View 编译为 PHP 后执行。系统支持 PHP 原生语法,可与标签混写;标签只是更短的写法,最终都会变成 PHP。
模板文件中可直接使用标准 PHP:
也可用标签包裹 PHP 代码块:
控制器 assign 的变量,在模板中即同名 PHP 变量(如 assign 了 title,则可用 $title)。
模板内可用常量、函数、类方法,规则与普通 PHP 一致。
编译结果缓存在 cache/template/,改模板后若未即时生效可清该缓存。
点语法对应数组下标。在标签属性或语句内也可用 $user.name 这种形式(编译为 $user['name'])。
{大写常量名}:输出 PHP 常量。
{函数名(参数)}:调用函数并 echo。
条件表达式按 PHP 解析。也可用原生 <?php if (...) : ?> ... <?php endif; ?>。
loop 遍历时提供 $key_*、$is_first、$is_last 等辅助变量(具体命名以编译结果为准)。等价写法:
template:按当前模板查找规则引入(可指定第二参数目录)。
load:加载指定文件到当前编译上下文。
{list} 用于按动作拉数据并循环;列表无数据时可写 {empty}...{/empty}。动作参数(如栏目、内容、SQL)多与业务/插件相关,详见《list 标签》专篇。也可用 return=变量名 把结果赋给指定变量。
在标签侧做统计或求和(依赖 list 同类数据能力)。
若定义全局函数 my_parser_view_rule($content),会在标签正则替换前执行,可自定义预处理模板源码。
标签与 PHP 可混用;复杂逻辑优先用清晰的 PHP,简单输出可用短标签。
输出用户内容时注意转义,避免 XSS。
勿在模板中写敏感配置或危险的动态代码。