Viewing file: SelfCheckingResourceChecker.php (1.34 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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\Component\Config\Resource;
use Symfony\Component\Config\ResourceCheckerInterface;
/** * Resource checker for instances of SelfCheckingResourceInterface. * * As these resources perform the actual check themselves, we can provide * this class as a standard way of validating them. * * @author Matthias Pigulla <mp@webfactory.de> */ class SelfCheckingResourceChecker implements ResourceCheckerInterface { // Common shared cache, because this checker can be used in different // situations. For example, when using the full stack framework, the router // and the container have their own cache. But they may check the very same // resources private static $cache = [];
public function supports(ResourceInterface $metadata) { return $metadata instanceof SelfCheckingResourceInterface; }
/** * @param SelfCheckingResourceInterface $resource */ public function isFresh(ResourceInterface $resource, int $timestamp) { $key = "$resource:$timestamp";
return self::$cache[$key] ?? self::$cache[$key] = $resource->isFresh($timestamp); } }
|