我在所有路径中覆盖了set requirements key {_locale}的路由加载器(routing.loader),并设置默认值.所有语言环境都保存在数据库中 我希望在数据库中保存新的语言环境后清除路由缓存(Matcher和Dumper缓存类),因为需要从DB加载需求参数.
谢谢.
小智 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);
}
Run Code Online (Sandbox Code Playgroud)
这个对我有用.