https://www.phpfastcache.com * @author Georges.L (Geolim4) * */ declare(strict_types=1); namespace Phpfastcache\Drivers\Apcu; use Phpfastcache\Core\Item\{ExtendedCacheItemInterface, ItemBaseTrait}; use Phpfastcache\Core\Pool\ExtendedCacheItemPoolInterface; use Phpfastcache\Drivers\Apcu\Driver as ApcuDriver; use Phpfastcache\Exceptions\{PhpfastcacheInvalidArgumentException}; /** * Class Item * @package phpFastCache\Drivers\Apcu */ class Item implements ExtendedCacheItemInterface { use ItemBaseTrait { ItemBaseTrait::__construct as __BaseConstruct; } /** * Item constructor. * @param Driver $driver * @param $key * @throws PhpfastcacheInvalidArgumentException */ public function __construct(ApcuDriver $driver, $key) { $this->__BaseConstruct($driver, $key); } /** * @param ExtendedCacheItemPoolInterface $driver * @return static * @throws PhpfastcacheInvalidArgumentException */ public function setDriver(ExtendedCacheItemPoolInterface $driver) { if ($driver instanceof ApcuDriver) { $this->driver = $driver; return $this; } throw new PhpfastcacheInvalidArgumentException('Invalid driver instance'); } }