templado/engine

PHP 8.2+ 的实用模板方法

资助包维护!
theseer

5.0.0-rc.4 2024-04-03 13:20 UTC

README

Templado 5.0 目前正在积极开发中

Templado 5.0 - 在 main 分支开发 - 在主要部分是 Templado 4.x 的重写,目前正在开发中。如果您想尝试 5.0,请注意当前的 API 可能会发生变化,并且尚未完全实现所有功能。

Integrate

PHP 8.2+ 的实用模板方法

(使用 Templado 4.x for PHP >=7.4)

动机

今天的大多数模板引擎将所需的渲染逻辑代码与 HTML 标记混合在一个文件中,并要求开发者学习他们各自的语言。

Templado 在模板方面采用不同的方法:部分灵感来源于 Tempan,Templado 仅依赖于纯 HTML 标记。所需的最小显示逻辑包含在引擎中,并在将其应用于页面时由视图模型触发。

随时准备预览

由于 Templado 模板是纯 HTML,预览就像用浏览器打开 HTML 文件一样简单 - 示例数据可以(并且应该)包含在内,因为引擎将在渲染时根据视图模型对其进行清理。

表单处理包含在内

为了让表单处理更加简单,Templado 包含显式的 HTML 表单支持。基于提供的输入数据,Templado 将重新填充 HTML 表单,甚至包括您的 CSRF 保护代码。

文档合并

可以根据元素 ID 值合并文档,将多个片段(甚至递归地)组合成最终文档。

自定义转换、过滤器序列化

Templado 允许自定义转换,例如向每个 a 标签添加类,并在序列化时进行基于字符串的替换。完整的序列化可以自定义,其中包含一些默认变体。