Twig 在加载环境后启用缓存

Twig enable cache after loading Environment

我想在 Twig 中启用缓存。 我在创建 Twig Environment 对象时发现了如何做到这一点

$twig = new Twig_Environment($loader, array(
    'cache' => '/path/to/compilation_cache',
));

但我想在构造对象后添加缓存。现在我可以这样做吗?

我有 class 继承了 Twig

class MyTwig extends Twig_Environment {
    public function someFunction() {
         // enable cache there
    }
}

我需要在函数 someFunction() 中启用缓存

看看里面Environment.php,有一个方法叫setCache。所以我想你可以简单地:

public function loadTwig() {
    // ...
    $this->twig = new Twig_Environment($loader, $params);
    // ...
}

public function someFunction() {
    // ...
    $this->twig->setCache('/path/to/compilation_cache');
    // ...
}