Skip to main content

Module view

Module view 

Source
Expand description

视图渲染器 — 对齐 PHP think\View

§PHP 对齐说明

对齐 PHP think\View(外观模式)+ think\contract\TemplateHandlerInterface(驱动接口)+ think\Template(模板引擎核心)。PHP 使用 ob_start + include/eval 机制, Rust 改为直接返回 String,避免 I/O 副作用。

§核心类型

  • View:视图入口(对齐 PHP think\View
  • TemplateEngine trait:模板引擎接口(对齐 PHP think\contract\TemplateHandlerInterface
  • SimpleTemplateEngine:默认模板引擎(对齐 PHP think\Template 的基本标签)
  • ViewConfig:视图配置(对齐 PHP config/view.php

§支持的标签

  • {$var} — 变量插值(对齐 PHP parseVar
  • {$var.attr} — 嵌套属性(对齐 PHP . 语法,默认 array 模式)
  • {$var|filter} — 过滤器(对齐 PHP parseVarFunction
  • {$var|default=x} — 默认值
  • {$var?='x'} / {$var?:'x'} / {$var??'x'} — 三元表达式
  • {:func(args)} — 函数调用(对齐 PHP {:fun()}
  • {//comment} / {/*comment*/} — 注释(对齐 PHP parseTag 注释分支)
  • {literal}...{/literal} — 原文保留(对齐 PHP parseLiteral
  • {if}/{elseif}/{else} — 条件判断(对齐 PHP Cx tagIf
  • {foreach} — foreach 循环(对齐 PHP Cx tagForeach
  • {volist} — volist 循环(对齐 PHP Cx tagVolist
  • {switch}/{case}/{default} — switch 分支(对齐 PHP Cx tagSwitch
  • {for} — for 循环(对齐 PHP Cx tagFor
  • 配置模式布局(layout_on=true,对齐 PHP compiler()
  • {layout name="..." replace="..."} — 标签模式布局(对齐 PHP parseLayout()
  • {__NOLAYOUT__} — 单独禁用布局
  • {extend name="..."} — 模板继承(对齐 PHP parseExtend()
  • {block name="..."}...{/block} — block 定义(对齐 PHP parseBlock()
  • {__BLOCK__} / {__block__} — block 合并标记(对齐 PHP str_replace

§PHP 源码参考

  • think\framework\src\think\View.php(195 行)
  • think\framework\src\think\contract\TemplateHandlerInterface.php
  • think\framework\src\think\view\driver\Php.php
  • think-template\src\Template.php(~1800 行)
  • think-view\src\Think.php
  • config\view.php

Modules§

inheritance
模板继承 — 对齐 PHP think\Template 的继承(extend)机制
layout
模板布局 — 对齐 PHP think\Template 的布局(layout)机制
template
Cx 标签库控制流标签 — 对齐 PHP think\template\taglib\Cx

Structs§

SimpleTemplateEngine
简易模板引擎(对齐 PHP think\Template 的基本标签解析)
View
视图入口(对齐 PHP think\View
ViewConfig
视图配置(对齐 PHP config/view.php + think\Template 配置)
ViewFallback
模板渲染兜底场景 helper(对齐 DefaultResponseType::Html

Enums§

ViewError
视图错误

Traits§

TemplateEngine
模板引擎接口(对齐 PHP think\contract\TemplateHandlerInterface

Functions§

render_display_response
渲染字符串内容为 HTML Response(兜底场景,自由函数版本)
render_template_response
渲染模板文件为 HTML Response(兜底场景,自由函数版本)

Type Aliases§

ContentFilter
内容过滤器(对齐 PHP View::filter,单值回调)
TemplateFn
模板函数(对齐 PHP {:func()} 中的函数)
ViewData
模板变量数据(对齐 PHP $data 数组)