自1.22.0
Twig
版以来,不推荐使用方法Twig_Environment::clearCacheFiles()
。但是,我没有找到任何地方(也没有在文档中,也没有在回购票中,也没有在SO上找到)可以取代这种弃用方法的东西。
那么现在清除所有缓存文件的惯用(而不是弃用)是什么?
通过实现自己的功能清除这些文件似乎很奇怪。
答案 0 :(得分:1)
因此没有新的惯用方法来清除所有缓存文件
Twig
项目维护人员可以自己将它留给图书馆用户。论点是:
论证是Twig本身只支持文件系统缓存(由于opcache)。因此clear()与手动删除缓存文件夹相同。因此,它不需要在界面中。因此,您必须手动清除缓存或自行编写方法。
有关详细信息,请参阅@ alain-tiemblo在评论中提及的relevant issue。
答案 1 :(得分:0)
如果您感兴趣,可以使用Twig中不推荐使用的方法制作广义函数。它只删除叶节点(Twig生成的php文件)但保留目录。你需要确保传递正确的路径。
function clearCacheFiles($cacheLocation) {
if (is_string($cacheLocation)) {
foreach (new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($cacheLocation),
\RecursiveIteratorIterator::LEAVES_ONLY) as $file
) {
if ($file->isFile()) {
@unlink($file->getPathname());
}
}
}
}
从第一次标记为已弃用的Twig/lib/Twig/Environment.php开始。