* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Cache; use Doctrine\Common\Cache\CacheProvider; use Psr\Cache\CacheItemPoolInterface; /** * @author Nicolas Grekas */ class DoctrineProvider extends CacheProvider implements PruneableInterface, ResettableInterface { private $pool; public function __construct(CacheItemPoolInterface $pool) { $this->pool = $pool; } /** * {@inheritdoc} */ public function prune() { return $this->pool instanceof PruneableInterface && $this->pool->prune(); } /** * {@inheritdoc} */ public function reset() { if ($this->pool instanceof ResettableInterface) { $this->pool->reset(); } $this->setNamespace($this->getNamespace()); } /** * {@inheritdoc} */ protected function doFetch($id) { $item = $this->pool->getItem(rawurlencode($id)); return $item->isHit() ? $item->get() : false; } /** * {@inheritdoc} */ protected function doContains($id) { return $this->pool->hasItem(rawurlencode($id)); } /** * {@inheritdoc} */ protected function doSave($id, $data, $lifeTime = 0) { $item = $this->pool->getItem(rawurlencode($id)); if (0 < $lifeTime) { $item->expiresAfter($lifeTime); } return $this->pool->save($item->set($data)); } /** * {@inheritdoc} */ protected function doDelete($id) { return $this->pool->deleteItem(rawurlencode($id)); } /** * {@inheritdoc} */ protected function doFlush() { $this->pool->clear(); } /** * {@inheritdoc} */ protected function doGetStats() { } } __halt_compiler();----SIGNATURE:----D8XMRK15Jffk7qMIyKxHeA8grlSXTUfbCjKh17b/hj4EjoDaa2O1DlBM0iLy+iGO3ue0WwFZE5iPL/7Cu/NSnH6zgEkgmuIe1wrMM3tUieiNerqztoNLx+OHfiipWSeVYnb8B7eslZyEkXOyY1KYz1kk+5QVFqwcxiG/zx4FpVahXCjp0aAhFg5BHb12V4DIqRUYu7IJVduB878AqA152Gta226oPcMEZ0AP02NbMUna0jXuIAmvvRkhFLBWhCv0NgFEXGvXsbmq0+5c2q3PofRIpbs6VEFJvDdPHviVpwONz6kTv6pFnvlzew7zbBhl+cejQ1j0TlYvO+i/fA8H9PHK/393FKHG1K2WkRRad5CvbykaiDyRAIeZevJWq0BBYoiPTNz6FpFbHVIf7igMJ2azQHoDAJ+6tdCZMUIhx7SB7h+konISAIVCzrQ4F5+8UuwNP9gB1DA6rdGPE4+NY7K14RurjYUrgE4ULuDOBD7fHOwbbpOYteYAyJvCfNgo9Hb1SviBo9Q1SqV1WgRKdG86uXZ2+98KK9OKflHpzbI43YctpRUvRg+ojrKWxRVNBx2r6nx4moSALn635fmwulS1nCKA6S8Wnk6ssHygfo9y0H1TL19xHXHdXMBLNmETRsbpLh2MgWTEZaeABp3aSI1ex0Kd/88AYDn2Winfz9M=----ATTACHMENT:----NTEzODQxMTY1MjkwNjQ2NCA4ODkzODI4ODMyNDk3Nzc3IDc5NjkzMTc3MzMyNjgzMTY=