PHP+JS的模板引擎,但是


Template engine for PHP + JS but

我正在构建一个web应用程序,该应用程序的交互性在很大程度上依赖Ajax,我想解决拥有两个版本的HTML模板的问题,以保持简洁。

我在这里遇到了一个问题,JS和PHP的模板引擎,它给出了一个很好的答案,胡子。然后我想起了所有我不能做的事情,比如Zend_View_Helpers和其他依赖PHP的东西。

我的问题是,有更好的解决方案吗?也许这将允许我使用Zend_View(或类似于模板语言的输出),这将使我具有PHP及其库的灵活性,但具有模板语言的DRY性。

或者另一个我完全没有想到的解决方案。我相信这种事情以前已经做过很多次了,所以有没有最好的做法(或坏的做法)。

感谢

虽然我不完全确定你想做什么,但如何使用Twig项目。您可以将对象传递到模板中,并访问其属性和方法:

为了方便起见,foo.bar在PHP层上做了以下事情:

  • 检查foo是否是一个数组,并排除一个有效元素
  • 如果不是,并且foo是一个对象,请检查bar是否为有效属性
  • 如果不是,如果foo是一个对象,请检查bar是否是一个有效的方法(即使bar是构造函数,也要使用__construct())
  • 如果不是,并且foo是一个对象,请检查getBar是否是一个有效的方法
  • 如果不是,并且foo是一个对象,请检查isBar是否是一个有效的方法
  • 否则,返回一个null值

foo['bar']只适用于PHP数组:

  • 检查foo是否是一个数组,并排除一个有效元素
  • 否则,返回一个null值

还有一个Twig模板语言的JS端口。