Reputation: 1405
I use a twig template directory at $SFROOT/var/cache/$ENVIRONMENT/templates to store generated twig templates.
In the twig configuration, i added this directory so templates are found.
When clearing the cache, the directory is not created automatically
All console commands, including composer post-install cache-clear hooks, fail because twig requires that directory to exist, but after a cache clear it doesn't.
How to I ensure the directory gets created after the cache is cleared?
I'm looking for some sort of dependencyinjection to add a hook to post-cache-clear (google returned nothing) with a mkdir command, but am unable to find out how to achieve that
Upvotes: 0
Views: 458
Reputation: 11490
You can create a 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;
}
}
custom service:
services:
app.warmer.my_custom_warmer:
class: AppBundle\Cache\MyCustomWarmer
tags:
- { name: kernel.cache_warmer, priority: 0 }
Upvotes: 1