对于我的项目 - 在流程结束时生成表单。在我的旧系统中,它是Regex + HTML的组合(我学到了不太好维护:))
所以我已经去做了一些研究,但我似乎无法找到我追求的模板引擎。我一直在关注 Twig& Smarty ,但我希望引擎能够遍历自定义标记,而自定义标记又会将函数调用检索从中读取的数据source (基本上是回调函数)。由于已经存在大量数据,因此可以根据用户的显示方式提供各种格式。
我还希望包含 if 和 else 条件
我希望我足够清楚。
我将从模板系统中提供一个非常基本的代码示例
<html>
<body>
<table>
<tr>
<td>
Building
</td>
<td>
<mi:seperated seperator=", " source="building" key="type" />
</td>
</tr>
<tr>
<td>
Construction
</td>
<td>
<mi:seperated seperator=", " source="house" key="construction" default="N/A" />
</td>
</tr>
<tr>
<td>
Floor
</td>
<td>
<mi:value source="house" key="floor" default="N/A" />
</td>
</tr>
</table>
</body>
</html>
,最终结果如下所示。
<html>
<body>
<table>
<tr>
<td>
Building
</td>
<td>
Double Storey, Domestic dwelling
</td>
</tr>
<tr>
<td>
Construction
</td>
<td>
6 Bedrooms, Brick Veneer
</td>
</tr>
<tr>
<td>
Floor
</td>
<td>
N/A
</td>
</tr>
</table>
</body>
</html>
任何人都可以编辑这些表单模板。因此,我不想沿着“PHP是一种模板化语言”的道路前进,除非当然这是一种限制执行代码的简单方法。
编辑:也只是一个快速说明。 回调函数用于处理HTML输出(因为某些标记可以创建复杂的输出)
答案 0 :(得分:0)
如果你使用Smarty,你可以创建一个插件来处理你的自定义标签。关于Smarty http://www.smarty.net/docs/en/plugins
的插件的一些小问题我想你必须看看像block functions
这样的东西