* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\FrameworkBundle\CacheWarmer; use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface; use Symfony\Component\Routing\Router; /** * Generates the router matcher and generator classes. * * @author Fabien Potencier */ class RouterCacheWarmer implements CacheWarmerInterface { protected $router; /** * Constructor. * * @param Router $router A Router instance */ public function __construct(Router $router) { $this->router = $router; } /** * Warms up the cache. * * @param string $cacheDir The cache directory */ public function warmUp($cacheDir) { $currentDir = $this->router->getOption('cache_dir'); // force cache generation $this->router->setOption('cache_dir', $cacheDir); $this->router->getMatcher(); $this->router->getGenerator(); $this->router->setOption('cache_dir', $currentDir); } /** * Checks whether this warmer is optional or not. * * @return Boolean always false */ public function isOptional() { return false; } }