没有使用Smarty,但带有缓存功能的极简PHP模板引擎?

3

有许多问题关于“正确”的PHP模板引擎,但没有一个专注于缓存。

有人知道一个轻量级、高质量、基于PHP 5的模板引擎,可以直接完成以下操作:

  • 低级别的模板函数(替换、循环和过滤,也许是条件语句)

  • 缓存解析结果,并能够针对每个项目设置单独的TTL,当然也可以通过程序强制重新加载

  • 非常易于使用(如Smarty)

  • 在命名空间中保持简洁(理想的解决方案应是一个类,可从外部应用程序进行交互)

但不是Smarty。我并没有反对,而且经常使用Smarty,但我正在寻找更简单、更精简的东西。

我看了一下Fabien Potencier的Twig,它看起来非常不错,并将模板编译成PHP代码,但除此之外,它并不会进行任何实际的缓存操作。

我需要一个模板引擎,以完全分离代码和展示,让HTML设计师在以后可以理解。请不要就PHP中的模板引擎是否有意义进行基本讨论。这些讨论很重要,但是针对该问题还有具体的问题。

(概述)http://en.wikipedia.org/wiki/Template_engine_%28web%29 - Gordon
1
(德语概述)http://de.wikipedia.org/wiki/Template_Engine#PHP_Template_Engines - Gordon
你可以尝试查看Dwoo,它被认为是更新、更清洁的Smarty,并且两者之间具有非常高的兼容性。除此之外,我认为你最好采纳Alfred的建议,编写一些代码来为你缓存Twig。 - anomareh
@Pekka:http://stackoverflow.com/search?q=[php]+minimalistic 你是想用极简主义的东西来征服世界吗?xP - Alix Axel
@Alix 别声张!这应该是个秘密。 :) 我也在寻找如何运营一个简约的军事独裁政权的方法。有链接吗,有人知道吗? - Pekka
1个回答

2

带缓存的模板引擎

  • 回答您的问题,我不知道有没有支持您所有要求的模板。希望其他人能够帮助您。但是,在进行了一些搜索后,我发现TinyButStrong。在他们的网站上,他们提到它具有缓存系统。我找不到他们实现了什么类型的缓存(磁盘/内存/数据库)。它应该在内存中缓存以获得真正的加速。

自己实现缓存

  • 我认为Twig是一个非常稳定的模板引擎,您可以轻松地在其之上实现缓存。
  • 只需在APC中缓存即可。在存储时设置TTL(生存时间),然后尝试从缓存中获取它。
  • 我假设您已经安装了APC,如果您关心性能(缓存),那么您应该首先安装APC(必须,因为它还将编译后的PHP文件存储在内存中。这意味着它不必每次重新编译)。如果您无法安装APC,则可以尝试Cache-Lite。我非常喜欢这个pear包,因为它简单易懂/文档良好。

我最终使用了Twig。谢谢! - Pekka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接