Php 具有if条件的细枝模板缓存

Php 具有if条件的细枝模板缓存,php,caching,twig,Php,Caching,Twig,我有一个像这样的模板 ... {% if whatever %} <div>whatever<div> {% endif %} ... 每当$whater变量更改时,编译缓存是否会重置?如果是重置,那么当模板中的变量发生很大变化时,编译缓存有什么意义 谢谢你友好的回答。我发现编译后的twig变成了php文件,所以所有变量和if都保存在编译后的php文件中。对变量使用编译是可以的,并且不会在每次变量更改时重新编译 $twig = new \Twig_Environm

我有一个像这样的模板

...
{% if whatever %}
   <div>whatever<div>
{% endif %}
...
每当$whater变量更改时,编译缓存是否会重置?如果是重置,那么当模板中的变量发生很大变化时,编译缓存有什么意义


谢谢你友好的回答。

我发现编译后的twig变成了php文件,所以所有变量和if都保存在编译后的php文件中。对变量使用编译是可以的,并且不会在每次变量更改时重新编译

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