模板处理器
目录
模板处理器
模板处理器(也称为模板引擎或模板解析器)是软件设计的模板,用一结合数据模型生成结果文档。模板所使用的语言称为模板语言或模板语言。就本文而言,结果文档是任何类型的格式化输出,包括文档、网页或源代码(在源代码生成中),无论是整体还是片段。模板引擎通常作为Web模板系统或应用程序框架的一部分包含在内,也可以用作预处理器或过滤器。
典型特征
模板引擎通常包含大多数高级编程语言所共有的功能,重点是用于处理纯文本的功能。
这些功能包括:
- 变量和函数
- 文字替换
- 文件包含
- 条件评估和循环

嵌入式模板引擎
虽然模板处理器通常是单独的软件,用作系统或框架的一部分,但简单的模板语言通常包含在通用编程语言的字符串处理功能以及文本处理程序中,尤其是文本编辑器或文字处理器。与成熟的模板处理器中更复杂的功能相比,模板语言通常是仅用于替换的简单语言,但可能包含一些逻辑。
简单的示例包括可以在许多编程语言中找到的打印格式字符串,以及在许多文本编辑器和源代码编辑器中可以找到的代码片段。在文字处理器中,模板是一个共同的功能,而自动填写模板通常被称为邮件合并。
系统元素
所有模板处理系统至少包含以下主要元素:
- 相关的数据模型 ;
- 一个或多个源模板 ;
- 处理器或模板引擎 ;
- 以结果文件形式产生的输出。
模板处理器的使用
模板处理在各种上下文中用于不同的目的。通常,特定目的取决于所使用的软件应用程序或模板引擎。但是,模板处理系统的灵活性通常允许非常规用途用于原始设计者最初不打算使用的目的。
比较
XSLT是W3C设计的模板处理模型。它主要用于XML数据的转换(转换为Web文档或其他输出)。
Perl、Python、PHP、Ruby、C#和Java之类的编程语言支持本机处理或通过附加库和模块进行模板处理。JavaServer Pages、Active Server Pages、Genshi(用于Python)和eRuby是专门为Web应用程序开发设计的模板引擎的示例。
此外,有时将模板处理作为软件包的子功能包括在内,例如文本编辑器、IDE和关系数据库管理系统。
使用模板引擎的好处
- 鼓励将源代码组织到不同的操作层中
- 通过减少不必要的工作重复来提高生产力
- 通过允许基于技能集(例如艺术与技术)的工作分离来增强团队合作精神