什么是模板语言?

2022-08-30 11:12:50

我在某处读到PHP是一种模板语言。模板语言到底是什么?是什么让PHP成为一个?其他模板语言有哪些?


答案 1

模板语言背后的前提是该语言“嵌入”在其他主文档中。具体来说,在普通文档上,文档的总大小主要是文档源而不是模板语言。

考虑两个人为的例子:

print "This is a simple document. It has three lines."
print "On the second line is my name: " + firstName
print "This is the third line."

This is a simple document. It has three lines.
On the second line is my name: $firstName
This is the third line.

您可以在第一个示例中看到,语言将文档文本换行。在第二个示例中,文档文本最普遍,只有一点点代码。

一些模板语言是完全通用的语言,如PHP,ASP.NET 和Java的JSP。其他的则是专门为模板设计的,例如Velocity和FreeMarker(两者都是Java的实用程序)。

许多文字处理器(如 Microsoft Word)都有自己的模板化功能,通常称为“邮件合并”。


答案 2

模板语言基本上是一种允许定义占位符的语言,这些占位符以后应该为了实现设计而被替换。显然,现代模板语言不仅支持占位符,还支持设计网页通常需要的循环和条件。有些甚至支持更高级但仍然有用的技术,如模板继承,宏和沙盒。

关于PHP:由于PHP本身可能入到HTML中,因此可以用作模板语言。另一方面,PHP非常冗长,尤其是在未启用短标签的情况下。

一个快速且功能丰富的模板引擎是Twig。我会推荐它。它提供了更多的功能(最明显的是模板继承),并且速度更快。


推荐