我有一个系统,允许用户从GUI编辑特定的模板文件。更改模板后,该模板文件的缓存(已编译模板)已被清除。在以前的Twig版本中,我习惯于做类似的事情:
/**
* @var Twig_Environment $twig
*/
$cache = $twig->getCacheFilename('path/to/template/here.html.twig');
if (file_exists($cache)) {
unlink($cache);
}
但是,在Twig 2中,getCacheFilename
已从Twig_Environment中删除。我们如何使用Twig 2清除特定模板的缓存?
答案 0 :(得分:0)
我最终设法使用以下代码构造了缓存文件名:
$mainCls = $twig->getTemplateClass($path);
$cache = $twig->getCache(false)->generateKey($path, $mainCls);
if (file_exists($cache)) {
unlink($cache);
}
不知道为什么要从API中删除如此重要的方法。