我有php后端,用手柄模板构建动态网站。站点必须按用户首选项支持UI本地化(站点具有用户身份验证及其UI设置)。现在,所有由php处理器生成的把手模板,例如:
{{!-- Template for dispatch table --}}
<table id="records" class="table-data">
<caption>
<h3>
<div class="column-right"><span class="icon-clock"></span><span id="clock"></span></div>
<div><span class="icon-database"></span><?php echo _('Records in the order for dispatching.'); ?></div>
<div class="clear"></div>
</h3>
</caption>
<thead>
<tr>
<th colspan="2"><span class="icon-database"></span><?php echo _('Name'); ?></th>
<th><span class="icon-clock"></span><?php echo _('Record Date'); ?></th>
<th><span class="icon-user"></span><?php echo _('Client'); ?></th>
<th><span class="icon-pencil"></span><?php echo _('Conclusion'); ?></th>
<th><span class="icon-doc"></span><?php echo _('Status'); ?></th>
<th><span class="icon-doc-text"></span><?php echo _('Doctor'); ?></th>
<th><span class="icon-code"></span><?php echo _('Type'); ?></th>
</tr>
</thead>
<tbody>
{{#each records}}
.................
{{/each}}
</tbody>
</table>
它并不酷:(模板中的<?php echo ... ?>
太多了。
可能有一些解决这个问题的方法吗?
P.S。:在后端生成的模板,但是在用户端进行编译和工作。
更新
我想减少后端执行的工作。对我来说,最好的解决方案是将动态hbs模板转换为静态集(一个用于支持的本地化)。为此,我想编译模板,以便将所有<?php echo _('...'); ?>
语句转换为localy字符串。
但我不知道该怎么做。
答案 0 :(得分:0)
为了避免使用echo
语句,您可以使用像Smarty这样的Php模板引擎。这样,您将编译已在html文件中编写的模板,而不是使用echo
。这个html文件还将包含handlebars指令,因此它将由用户端编译。但是在这一点上,你为什么不只使用Php模板引擎?这取决于你。 。