* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Config; use Symfony\Component\Config\Resource\ResourceInterface; use Symfony\Component\Config\ResourceCheckerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; /** * @author Maxime Steinhausser */ class ContainerParametersResourceChecker implements ResourceCheckerInterface { private $container; public function __construct(ContainerInterface $container) { $this->container = $container; } /** * {@inheritdoc} */ public function supports(ResourceInterface $metadata): bool { return $metadata instanceof ContainerParametersResource; } /** * {@inheritdoc} */ public function isFresh(ResourceInterface $resource, int $timestamp): bool { foreach ($resource->getParameters() as $key => $value) { if (!$this->container->hasParameter($key) || $this->container->getParameter($key) !== $value) { return false; } } return true; } }