标签语法

模板经 \Phpcmf\View 编译为 PHP 后执行。系统支持 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

{list} 用于按动作拉数据并循环;列表无数据时可写 {empty}...{/empty}。动作参数(如栏目、内容、SQL)多与业务/插件相关,详见《list 标签》专篇。也可用 return=变量名 把结果赋给指定变量。

count / sum

在标签侧做统计或求和(依赖 list 同类数据能力)。

扩展编译规则

若定义全局函数 my_parser_view_rule($content),会在标签正则替换前执行,可自定义预处理模板源码。

注意

  • 标签与 PHP 可混用;复杂逻辑优先用清晰的 PHP,简单输出可用短标签。

  • 输出用户内容时注意转义,避免 XSS。

  • 勿在模板中写敏感配置或危险的动态代码。

本文地址:https://m.xunruicms.com/doc/1483.html