AbstractCacheableService

class Firstred\PostNL\Service\AbstractCacheableService
Class AbstractService.
Parent:

Firstred\PostNL\Service\AbstractService

Implements:

Firstred\PostNL\Cache\CacheableServiceInterface

Used traits:

Firstred\PostNL\Clock\ClockAwareTrait

Summary

Methods

Properties

protected static property Firstred\PostNL\Service\AbstractCacheableService::$ttl
TTL for the cache.
`null` disables the cache
`int` is the TTL in seconds
Any `DateTime` will be used as the exact date/time at which to expire the data (auto calculate TTL)
A `DateInterval` can be used as well to set the TTL
Type:

int | \DateTimeInterface | \DateInterval | null

protected static property Firstred\PostNL\Service\AbstractCacheableService::$cache
The [PSR-6](https://www.php-fig.org/psr/psr-6/) CacheItemPoolInterface.
Use a caching library that implements [PSR-6](https://www.php-fig.org/psr/psr-6/) and you'll be good to go
`null` disables the cache
Type:

\Psr\Cache\CacheItemPoolInterface | null

Methods

public Firstred\PostNL\Service\AbstractCacheableService::__construct($apiKey, $sandbox, $httpClient, $requestFactory, $streamFactory, $cache=null, \\DateInterval|\\DateTimeInterface|int $ttl=null)
Parameters:
  • $apiKey (ParagonIE\HiddenString\HiddenString)

  • $sandbox (bool)

  • $httpClient (Firstred\PostNL\HttpClient\HttpClientInterface)

  • $requestFactory (Psr\Http\Message\RequestFactoryInterface)

  • $streamFactory (Psr\Http\Message\StreamFactoryInterface)

  • $cache (Psr\Cache\CacheItemPoolInterface | null)

  • $ttl (DateInterval | \DateTimeInterface | int | null)

public Firstred\PostNL\Service\AbstractCacheableService::retrieveCachedResponseItem($cacheableRequestEntity)
Retrieve a cached item.
Parameters:
Returns:

\Psr\Cache\CacheItemInterface | null

Throws:

\Psr\Cache\InvalidArgumentException

Since:

2.0.0

public Firstred\PostNL\Service\AbstractCacheableService::cacheResponseItem($item)
Cache an item.
Parameters:
  • $item (Psr\Cache\CacheItemInterface)

Returns:

bool

Since:

2.0.0

public Firstred\PostNL\Service\AbstractCacheableService::removeCachedResponseItem($item)
Delete an item from cache.
Parameters:
  • $item (Psr\Cache\CacheItemInterface)

Returns:

bool

Throws:

\Psr\Cache\InvalidArgumentException

Since:

2.0.0

public Firstred\PostNL\Service\AbstractCacheableService::getTtl()
Returns:

\DateInterval | \DateTimeInterface | int | null

Since:

1.2.0

public Firstred\PostNL\Service\AbstractCacheableService::setTtl(\\DateInterval|\\DateTimeInterface|int|null $ttl=null)
Parameters:
  • $ttl (DateInterval | \DateTimeInterface | int | null)

Returns:

static

Since:

1.2.0

public Firstred\PostNL\Service\AbstractCacheableService::getCache()
Returns:

\Psr\Cache\CacheItemPoolInterface | null

Since:

1.2.0

public Firstred\PostNL\Service\AbstractCacheableService::setCache($cache=null)
Parameters:
  • $cache (Psr\Cache\CacheItemPoolInterface | null)

Returns:

static

Since:

1.2.0