Как аннулировать кеш контейнера в Symfony2?

Часть моей конфигурации приложения Symfony загружается из старой базы данных, поэтому иногда мне нужно сделать недействительным кеш контейнера, чтобы использовать обновленные данные.

Существует ли какой-либо API для программного кэширования кэша контейнеров Symfony?

  1. В соответствии с CacheClearCommand :

     $filesystem = $this->container->get('filesystem'); $realCacheDir = $this->container->getParameter('kernel.cache_dir'); $this->container->get('cache_clearer')->clear($realCacheDir); $filesystem->remove($realCacheDir); 
  2. Непосредственно вызовите CacheClearCommand из кода:

    services.yml

     clear_cache_command_service: class: Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand calls: - [setContainer, ["@service_container"] ] 

    Чем это возможно сделать (обратите внимание, что это разогревает кеш):

     $clearCacheCommand = $this->container->get('clear_cache_command_service'); $clearCacheCommand->run(new ArgvInput(), new ConsoleOutput());