Symfony 2和Twig缓存 - 它们是一样的吗?

时间:2012-10-10 23:35:00

标签: php caching symfony twig

我的问题是Symfony 2缓存机制和Twig缓存机制是一样的吗?

假设我决定在我的MVC框架中使用Twig,我是否会使用Symfony 2使用的相同缓存机制?我知道Symfony2和Twig都是由Fabien创建的。但我不知道Symfony 2只使用Twig缓存还是还有更多东西?

所以我希望你能理解这个问题。 Symfony 2是否使用Twig进行缓存?如果没有,Symfony 2和Twig缓存之间有什么区别?

3 个答案:

答案 0 :(得分:8)

不确定完整的答案,但symfony和twig必须使用单独的缓存机制,因为您不必在symfony中使用twig,但缓存仍然有效。有关详情,请查看http://symfony.com/doc/current/并深入了解代码。


编辑: 扩展我上面的非答案。 Twig缓存实际上是一个编译缓存。您的模板保存为php文件。引用F. Potencier“[...] Twig缓存已编译的模板以避免后续请求的解析阶段。[...]”(source

虽然Symfony缓存是(已经提到过)一个HTTP缓存,但在Symfony Docs cache section

中有详细解释

希望这有帮助。

答案 1 :(得分:0)

Symfony 2使用HTTP缓存进行缓存。而且Twig缓存是对Twig模板进行的joust缓存,因此它们不必在每个请求上重新编译。所以Twig缓存只能确保模板在第一次请求时编译一次。

Symfony 2 HTTP缓存是另一个野兽:)它提供了围绕HTTP缓存机制的抽象,因此您可以使用HTTP缓存标头等进行缓存...

所以简短的答案是否定的!他们不一样!

答案 2 :(得分:0)

不,他们不一样。 Symfony缓存了许多东西,如路线,翻译,容器等; Twig只是通过将模板编译为PHP类来缓存模板。当然,Twig的缓存系统也适用于Symfony应用程序。