我在$ SFROOT / var / cache / $ ENVIRONMENT / templates处使用twig模板目录来存储生成的树枝模板。
在twig配置中,我添加了此目录,因此找到了模板。
清除缓存时,不会自动创建目录
所有控制台命令(包括编写器安装后缓存清除挂钩)都会失败,因为twig要求该目录存在,但在缓存清除之后它不会。
如何确保在清除缓存后创建目录?
我正在寻找某种依赖注入,使用mkdir命令为post-cache-clear添加一个钩子(谷歌没有返回任何内容),但我无法找到如何实现这一点
答案 0 :(得分:1)
您可以创建Custom Cache Warmer
// src/Acme/MainBundle/Cache/MyCustomWarmer.php
namespace AppBundle\Cache;
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface;
class MyCustomWarmer implements CacheWarmerInterface
{
public function warmUp($cacheDir)
{
// ... do some sort of operations to "warm" your cache
}
public function isOptional()
{
return false;
}
}
自定义服务:
services:
app.warmer.my_custom_warmer:
class: AppBundle\Cache\MyCustomWarmer
tags:
- { name: kernel.cache_warmer, priority: 0 }