Perl世界中是否有任何具备模板继承功能的模板系统?
我刚在维基百科的web模板引擎比较列表上查看了一下(实际上是不完整的列表),但没有发现有这样的模板系统。
继承 = 支持从父模板继承布局,并可以单独重写父模板内容的任意部分。
类似于Python的Jinja2:
#body.html
<body>
{% block content %}
<!-- the content go here -->
{% endblock %}
</body>
#hi.html
{% extends "body.html" %}
{% block content %}
<h1>Hi!</h1>
{% endblock %}
渲染hi.html
会生成以下内容:
<body>
<h1>Hi!</h1>
</body>
不要寻找精确的Jinja2语法,只需寻找来自perl世界的任何支持继承的模板引擎(不仅仅是像Template::Toolkit这样的纯包含)。之所以在这里提问,是因为在CPAN上搜索"template inheritance"等词语很麻烦,会显示成千上万个与此问题无关的模块。顺便说一句,它不应该像嵌入式perl那样,应该是“可编辑”的,允许用户构建自己的模板而不危及整个系统,因此不能使用Mason或HTML::Mason。
require '/some/file.pl'
;) ;). 大多数情况下,区别只在于 bless... - novacik