/
var
/
www
/
html
/
restaurants
/
vendor
/
symfony
/
framework-bundle
/
CacheWarmer
/
Upload File
HOME
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * 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 Psr\Container\ContainerInterface; use Symfony\Bundle\FrameworkBundle\DependencyInjection\CompatibilityServiceSubscriberInterface as ServiceSubscriberInterface; use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface; use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface; use Symfony\Component\Routing\RouterInterface; /** * Generates the router matcher and generator classes. * * @author Fabien Potencier <fabien@symfony.com> * * @final */ class RouterCacheWarmer implements CacheWarmerInterface, ServiceSubscriberInterface { private $container; public function __construct(ContainerInterface $container) { // As this cache warmer is optional, dependencies should be lazy-loaded, that's why a container should be injected. $this->container = $container; } /** * Warms up the cache. * * @param string $cacheDir The cache directory */ public function warmUp($cacheDir) { $router = $this->container->get('router'); if ($router instanceof WarmableInterface) { $router->warmUp($cacheDir); return; } @trigger_error(sprintf('Passing a %s without implementing %s is deprecated since Symfony 4.1.', RouterInterface::class, WarmableInterface::class), \E_USER_DEPRECATED); } /** * Checks whether this warmer is optional or not. * * @return bool always true */ public function isOptional(): bool { return true; } /** * {@inheritdoc} */ public static function getSubscribedServices(): array { return [ 'router' => RouterInterface::class, ]; } }