我的问题是Symfony 2缓存机制和Twig缓存机制是一样的吗?
假设我决定在我的MVC框架中使用Twig,我会有Symfony 2使用的相同缓存机制吗?我知道Symfony2和Twig都是由Fabien创建的。但是我不知道Symfony 2是只使用了Twig缓存,还是有其他的东西?
所以我希望你能理解这个问题。Symfony 2是否使用Twig进行缓存?如果没有,Symfony 2和Twig缓存有什么不同?
发布于 2012-10-11 07:57:38
不确定完整的答案,但是symfony和twig必须使用单独的缓存机制,因为您不需要在symfony中使用twig,并且缓存仍然有效。有关更多信息,请查看http://symfony.com/doc/current/并深入研究代码。
编辑:对我上面没有回答的问题进行扩展。Twig缓存实际上是一个编译缓存。您的模板将保存为php文件。引用F. Potencier的话:"... Twig缓存编译后的模板,以避免后续请求的解析阶段...“(source)
而Symfony cache是(前面已经提到过的) HTTP cache,在Symfony Docs cache section中有详细的解释
希望这能有所帮助。
发布于 2012-10-11 08:26:21
Symfony 2使用HTTP缓存进行缓存。而且Twig缓存与Twig模板的缓存很相似,所以它们不必在每次请求时都重新编译。因此,Twig缓存只确保模板在第一次请求时编译一次。
Symfony 2 HTTP缓存是另一种野兽:)它提供了围绕HTTP缓存机制的抽象,因此您可以使用HTTP缓存报头等进行缓存。
所以简短的答案是否定的!它们是不一样的!
发布于 2012-10-11 23:54:25
不,它们是不一样的。Symfony缓存了很多东西,比如路由、翻译、容器等等;Twig只是通过将模板编译成PHP类来缓存模板。当然,Twig的缓存系统也可以在Symfony应用程序中运行。
https://stackoverflow.com/questions/12830064
复制相似问题