/
home
/
obinna
/
html
/
boaz2
/
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\Component\HttpKernel\CacheWarmer\CacheWarmerInterface; use Symfony\Component\HttpKernel\CacheWarmer\WarmableInterface; use Symfony\Contracts\Service\ServiceSubscriberInterface; use Symfony\Contracts\Translation\TranslatorInterface; /** * Generates the catalogues for translations. * * @author Xavier Leune <xavier.leune@gmail.com> */ class TranslationsCacheWarmer implements CacheWarmerInterface, ServiceSubscriberInterface { private $container; private $translator; 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; } /** * {@inheritdoc} * * @return string[] */ public function warmUp(string $cacheDir) { if (null === $this->translator) { $this->translator = $this->container->get('translator'); } if ($this->translator instanceof WarmableInterface) { return (array) $this->translator->warmUp($cacheDir); } return []; } /** * {@inheritdoc} */ public function isOptional() { return true; } /** * {@inheritdoc} */ public static function getSubscribedServices() { return [ 'translator' => TranslatorInterface::class, ]; } }