具有if条件的Twig模板缓存

时间:2015-05-08 14:59:50

标签: php caching twig

我有一个看起来像这样的模板

...
{% if whatever %}
   <div>whatever<div>
{% endif %}
...

我以这种方式设置我的环境

$twig = new \Twig_Environment(
    new \Twig_Loader_Filesystem(
        /template/path/
        ['cache' => '/cache/path/']
    )
);
$whatever = someFunctionFetchingFromDatabase();
$twig->addGlobal('whatever', $whatever);
$twig->render('whatever');

每当$ whatever变量改变时,编译缓存是否会重置?如果它正在重置,当模板内的变量发生很大变化时,编译缓存的重点是什么?

谢谢你的回答。

1 个答案:

答案 0 :(得分:0)

我发现编译的twig变成了php文件所以所有变量都保存在已编译的php文件中。使用带变量的编译很好,每次变量都不会重新编译。