哪些模板语言适合JS和PHP


What templating languages are suitable for JS and PHP?

我正在寻找一种同时适用于PHP和JS的模板"语言"。我看了Mustache(有一个非常有限的"if")和其他一些东西,比如jquery-tmpl-php。到目前为止,但这些似乎都不符合我的所有标准:

  • 使用JSON提供的数据(数组、映射、文字)
  • 有一个"if"语句,该语句至少可以检查
    • 地图中存在一个键
    • 列表元素是第一个/最后一个/奇数/偶数
    • 值等于文字
  • 可以迭代列表(迭代映射中的键将是一个额外的奖励)
  • 相同的模板和数据使用PHP和JS生成完全相同的结果
  • 足够快(我知道,有点模糊)
  • 最好没有编译步骤
  • 额外的好处:一种很好的方式来"复数化"文本,基本上是所有让i18n更容易的东西
  • 不聪明:)

我感谢的任何想法、建议或提示

谢谢,Marek

我刚刚写了整篇文章,只是为了重读你的问题,看看"不聪明":p。我只想说,我四处寻找了一段时间的JS和PHP模板库,Smarty似乎是我的最佳选择。你说Mustache是不够的。唯一一个同时想到JS和PHP功能的是Haml。

原件:
我还没有太多的经验,但我已经开始使用Smarty PHP模板了。我创建了一个Smarty模板,并为Ajax请求向客户端发送JSON。然后我使用这个JS Smarty引擎进行客户端处理。如果客户端不支持Javascript,我可以通过将与PHP相关的数组发送到Smarty渲染器服务器端,而不是发送到JSON解析器来优雅地降级。仍然使用相同的.smarty文件,到目前为止工作得相当好,我想我会在项目的其余部分继续使用这种方法。