4

我在所有路径中覆盖了设置要求键 {_locale} 的路由加载器(routing.loader),并设置了默认值。保存在数据库中的所有语言环境。我想在数据库中保存新的语言环境后清除路由缓存(Matcher 和 Dumper 缓存类),因为需要从数据库加载参数。

感谢。

4

2 回答 2

7

Symfony 缓存的路由文件:

appDevUrlMatcher.php appDevUrlGenerator.php

在您的缓存目录中,var/cache/dev(prod)

只需删除这些文件

 protected function warmUpRouteCache() {

    $router = $this->get('router');
    $filesystem = $this->get('filesystem');
    $kernel = $this->get('kernel');
    $cacheDir = $kernel->getCacheDir();

    foreach (array('matcher_cache_class', 'generator_cache_class') as $option) {
        $className = $router->getOption($option);
        $cacheFile = $cacheDir . DIRECTORY_SEPARATOR . $className . '.php';
        $filesystem->remove($cacheFile);
    }

    $router->warmUp($cacheDir);
}

这个对我有用。

于 2016-01-28T06:34:34.320 回答
3
php app/console cache:clear
php app/console cache:clear --help

清除缓存后会执行其他缓存预热任务,以便在运行时重新生成缓存可用 - 请参阅详细帮助以获取更多信息。

于 2018-04-17T06:46:37.913 回答