| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | <?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\HttpKernel\CacheClearer;use Psr\Cache\CacheItemPoolInterface;/** * @author Nicolas Grekas <p@tchwork.com> */class Psr6CacheClearer implements CacheClearerInterface{    private $pools = [];    /**     * @param array<string, CacheItemPoolInterface> $pools     */    public function __construct(array $pools = [])    {        $this->pools = $pools;    }    /**     * @return bool     */    public function hasPool(string $name)    {        return isset($this->pools[$name]);    }    /**     * @return CacheItemPoolInterface     *     * @throws \InvalidArgumentException If the cache pool with the given name does not exist     */    public function getPool(string $name)    {        if (!$this->hasPool($name)) {            throw new \InvalidArgumentException(sprintf('Cache pool not found: "%s".', $name));        }        return $this->pools[$name];    }    /**     * @return bool     *     * @throws \InvalidArgumentException If the cache pool with the given name does not exist     */    public function clearPool(string $name)    {        if (!isset($this->pools[$name])) {            throw new \InvalidArgumentException(sprintf('Cache pool not found: "%s".', $name));        }        return $this->pools[$name]->clear();    }    /**     * {@inheritdoc}     */    public function clear(string $cacheDir)    {        foreach ($this->pools as $pool) {            $pool->clear();        }    }}
 |