anterior  
índice  
siguiente  
Updated 2012-10-02 - Version ZF 2.0.3

Zend\Cache\Storage\Capabilities

Overview

Storage capabilities describes how a storage adapter works and which features it supports.

To get capabilities of a storage adapter, you can use the method getCapabilities() of the storage adapter but only the storage adapter and its plugins have permissions to change them.

Because capabilities are mutable, for example, by changing some options, you can subscribe to the “change” event to get notifications; see the examples for details.

If you are writing your own plugin or adapter, you can also change capabilities because you have access to the marker object and can create your own marker to instantiate a new object of Zend\Cache\Storage\Capabilities.

Available Methods

__construct

__construct(stdClass $marker, array $capabilities = array ( ), null|Zend\Cache\Storage\Capabilities $baseCapabilities) __construct(Zend\Cache\Storage\StorageInterface $storage, stdClass $marker, array $capabilities = array(), Capabilities $baseCapabilities = null)

Constructor

getSupportedDatatypes

getSupportedDatatypes()

Get supported datatypes.

Returns array.

setSupportedDatatypes

setSupportedDatatypes(stdClass $marker, array $datatypes)

Set supported datatypes.

Implements a fluent interface.

getSupportedMetadata

getSupportedMetadata()

Get supported metadata.

Returns array.

setSupportedMetadata

setSupportedMetadata(stdClass $marker, string $metadata)

Set supported metadata

Implements a fluent interface.

getMinTtl

getMinTtl()

Get minimum supported time-to-live

Returns int (0 means items never expire)

setMinTtl

setMinTtl(stdClass $marker, int $minTtl)

Set minimum supported time-to-live

Implements a fluent interface.

getMaxTtl

getMaxTtl()

Get maximum supported time-to-live

Returns int

setMaxTtl

setMaxTtl(stdClass $marker, int $maxTtl)

Set maximum supported time-to-live

Implements a fluent interface.

getStaticTtl

getStaticTtl()

Is the time-to-live handled static (on write), or dynamic (on read).

Returns boolean

setStaticTtl

setStaticTtl(stdClass $marker, boolean $flag)

Set if the time-to-live is handled statically (on write) or dynamically (on read)

Implements a fluent interface.

getTtlPrecision

getTtlPrecision()

Get time-to-live precision.

Returns float.

setTtlPrecision

setTtlPrecision(stdClass $marker, float $ttlPrecision)

Set time-to-live precision.

Implements a fluent interface.

getUseRequestTime

getUseRequestTime()

Get the “use request time” flag status

Returns boolean

setUseRequestTime

setUseRequestTime(stdClass $marker, boolean $flag)

Set the “use request time” flag.

Implements a fluent interface.

getExpiredRead

getExpiredRead()

Get flag indicating if expired items are readable.

Returns boolean

setExpiredRead

setExpiredRead(stdClass $marker, boolean $flag)

Set if expired items are readable.

Implements a fluent interface.

getMaxKeyLength

getMaxKeyLength()

Get maximum key lenth.

Returns int

setMaxKeyLength

setMaxKeyLength(stdClass $marker, int $maxKeyLength)

Set maximum key lenth.

Implements a fluent interface.

getNamespaceIsPrefix

getNamespaceIsPrefix()

Get if namespace support is implemented as a key prefix.

Returns boolean

setNamespaceIsPrefix

setNamespaceIsPrefix(stdClass $marker, boolean $flag)

Set if namespace support is implemented as a key prefix.

Implements a fluent interface.

getNamespaceSeparator

getNamespaceSeparator()

Get namespace separator if namespace is implemented as a key prefix.

Returns string

setNamespaceSeparator

setNamespaceSeparator(stdClass $marker, string $separator)

Set the namespace separator if namespace is implemented as a key prefix.

Implements a fluent interface.

Examples

Get storage capabilities and do specific stuff in base of it

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
use Zend\Cache\StorageFactory;

$cache = StorageFactory::adapterFactory('filesystem');
$supportedDatatypes = $cache->getCapabilities()->getSupportedDatatypes();

// now you can run specific stuff in base of supported feature
if ($supportedDatatypes['object']) {
    $cache->set($key, $object);
} else {
    $cache->set($key, serialize($object));
}

Listen to change event

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
use Zend\Cache\StorageFactory;

$cache = StorageFactory::adapterFactory('filesystem', array(
    'no_atime' => false,
));

// Catching capability changes
$cache->getEventManager()->attach('capability', function($event) {
    echo count($event->getParams()) . ' capabilities changed';
});

// change option which changes capabilities
$cache->getOptions()->setNoATime(true);
|

Contenidos

Tema anterior

Zend\Cache\Storage\Adapter

Próximo tema

Zend\Cache\Storage\Plugin

Esta página

Nota: Es necesario estar conectado a tu cuenta GitHub para contribuir a la documentación.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Zend\Cache\Storage\Capabilities on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.