Skip to content

Phalcon storage

NOTE

All classes are prefixed with Phalcon

Storage\AdapterFactory

Class Source on GitHub

Uses Phalcon\Factory\AbstractFactory · Phalcon\Storage\Adapter\AdapterInterface

Method Summary

Methods

Public · 2

__construct()

public function __construct(
    SerializerFactory $factory,
    array $services = []
);

AdapterFactory constructor.

newInstance()

public function newInstance(
    string $name,
    array $options = []
): AdapterInterface;

Create a new instance of the adapter

Protected · 2

getExceptionClass()

protected function getExceptionClass(): string;

getServices()

protected function getServices(): array;

Returns the available adapters

Storage\Adapter\AbstractAdapter

Abstract Source on GitHub

Class AbstractAdapter

@package Phalcon\Storage\Adapter

@property mixed $adapter @property string $defaultSerializer @property int $lifetime @property array $options @property string $prefix @property SerializerInterface $serializer @property SerializerFactory $serializerFactory

Uses DateInterval · DateTime · Exception · Phalcon\Events\EventsAwareInterface · Phalcon\Events\ManagerInterface · Phalcon\Storage\SerializerFactory · Phalcon\Storage\Serializer\SerializerInterface · Phalcon\Support\Exception · Phalcon\Support\Helper\Arr\Get

Method Summary

public bool clear() Flushes/clears the cache public int|bool decrement(string $key,int $value = 1) Decrements a stored number public bool delete( string $key ) Deletes data from the adapter public bool deleteMultiple( array $keys ) Deletes data from the adapter public mixed get(string $key,mixed $defaultValue = null) Reads data from the adapter public mixed getAdapter() Returns the adapter - connects to the storage if not connected public string getDefaultSerializer() Name of the default serializer class public ManagerInterface|null getEventsManager() Get the event manager public array getKeys( string $prefix = "" ) Returns all the keys stored public int getLifetime() Returns the lifetime public string getPrefix() Returns the prefix public SerializerInterface getSerializer() Get the serializer public bool has( string $key ) Checks if an element exists in the cache public int|bool increment(string $key,int $value = 1) Increments a stored number public bool set(string $key,mixed $value,mixed $ttl = null) Stores data in the adapter. If the TTL is null (default) or not defined public void setDefaultSerializer( string $serializer ) public void setEventsManager( ManagerInterface $eventsManager ) Sets the event manager protected __construct(SerializerFactory $factory,array $options = []) AbstractAdapter constructor. protected int|bool doDecrement(string $key,int $value = 1) Decrements a stored number protected bool doDelete( string $key ) Deletes data from the adapter protected bool doDeleteMultiple( array $keys ) Deletes multiple keys from the adapter protected mixed doGet(string $key,mixed $defaultValue = null) protected mixed doGetData( string $key ) protected bool doHas( string $key ) Checks if an element exists in the cache protected int|bool doIncrement(string $key,int $value = 1) Increments a stored number protected bool doSet(string $key,mixed $value,mixed $ttl = null) Stores data in the adapter. If the TTL is null (default) or not defined protected void fire(string $eventName,mixed $keys) Trigger an event for the eventsManager. protected mixed getArrVal(array $collection,mixed $index,mixed $defaultValue = null,string $cast = null) Reads an element from an array, optionally casting it. Delegates to the protected array getFilteredKeys(mixed $keys,string $prefix) Filters the keys array based on global and passed prefix protected string getKeyWithoutPrefix( string $key ) Check if the key has the prefix and remove it, otherwise just return the protected string getPrefixedKey( mixed $key ) Returns the key requested, prefixed protected mixed getSerializedData( mixed $content ) Returns serialized data protected int getTtl( mixed $ttl ) Calculates the TTL for a cache item protected mixed getUnserializedData(mixed $content,mixed $defaultValue = null) Returns unserialized data protected void initSerializer() Initializes the serializer

Properties

protected mixed $adapter
protected string $defaultSerializer = "php" Name of the default serializer class
protected string $eventType = "storage" EventType prefix.
protected ManagerInterface|null $eventsManager = null Event Manager
protected int $lifetime = 3600 Name of the default TTL (time to live)
protected array $options = []
protected string $prefix = "ph-memo-"
protected SerializerInterface|null $serializer Serializer
protected SerializerFactory $serializerFactory Serializer Factory
protected bool $stripPrefix = true Whether a leading prefix is stripped from incoming keys before the adapter prefix is applied. Disable when keys are externally generated identifiers that may legitimately start with the prefix text (e.g. session ids).

Methods

Public · 17

clear()

abstract public function clear(): bool;

Flushes/clears the cache

decrement()

public function decrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

delete()

public function delete( string $key ): bool;

Deletes data from the adapter

deleteMultiple()

public function deleteMultiple( array $keys ): bool;

Deletes data from the adapter

get()

public function get(
    string $key,
    mixed $defaultValue = null
): mixed;

Reads data from the adapter

getAdapter()

public function getAdapter(): mixed;

Returns the adapter - connects to the storage if not connected

getDefaultSerializer()

public function getDefaultSerializer(): string;

Name of the default serializer class

getEventsManager()

public function getEventsManager(): ManagerInterface|null;

Get the event manager

getKeys()

abstract public function getKeys( string $prefix = "" ): array;

Returns all the keys stored

getLifetime()

public function getLifetime(): int;

Returns the lifetime

getPrefix()

public function getPrefix(): string;

Returns the prefix

getSerializer()

public function getSerializer(): SerializerInterface;

Get the serializer

has()

public function has( string $key ): bool;

Checks if an element exists in the cache

increment()

public function increment(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

set()

public function set(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

setDefaultSerializer()

public function setDefaultSerializer( string $serializer ): void;

setEventsManager()

public function setEventsManager( ManagerInterface $eventsManager ): void;

Sets the event manager

Protected · 18

__construct()

protected function __construct(
    SerializerFactory $factory,
    array $options = []
);

AbstractAdapter constructor.

doDecrement()

abstract protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

doDelete()

abstract protected function doDelete( string $key ): bool;

Deletes data from the adapter

doDeleteMultiple()

protected function doDeleteMultiple( array $keys ): bool;

Deletes multiple keys from the adapter

doGet()

protected function doGet(
    string $key,
    mixed $defaultValue = null
): mixed;

doGetData()

protected function doGetData( string $key ): mixed;

doHas()

abstract protected function doHas( string $key ): bool;

Checks if an element exists in the cache

doIncrement()

abstract protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

doSet()

abstract protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

fire()

protected function fire(
    string $eventName,
    mixed $keys
): void;

Trigger an event for the eventsManager.

getArrVal()

protected function getArrVal(
    array $collection,
    mixed $index,
    mixed $defaultValue = null,
    string $cast = null
): mixed;

Reads an element from an array, optionally casting it. Delegates to the canonical Support\Helper\Arr\Get helper.

@todo Remove this wrapper when we get traits

getFilteredKeys()

protected function getFilteredKeys(
    mixed $keys,
    string $prefix
): array;

Filters the keys array based on global and passed prefix

getKeyWithoutPrefix()

protected function getKeyWithoutPrefix( string $key ): string;

Check if the key has the prefix and remove it, otherwise just return the key unaltered. When the stripPrefix option is false the key is always returned unaltered.

getPrefixedKey()

protected function getPrefixedKey( mixed $key ): string;

Returns the key requested, prefixed

getSerializedData()

protected function getSerializedData( mixed $content ): mixed;

Returns serialized data

getTtl()

protected function getTtl( mixed $ttl ): int;

Calculates the TTL for a cache item

getUnserializedData()

protected function getUnserializedData(
    mixed $content,
    mixed $defaultValue = null
): mixed;

Returns unserialized data

initSerializer()

protected function initSerializer(): void;

Initializes the serializer

Storage\Adapter\AdapterInterface

Interface Source on GitHub

Interface for Phalcon\Logger adapters

Uses Phalcon\Storage\Serializer\SerializerInterface

Method Summary

Methods

Public · 12

clear()

public function clear(): bool;

Flushes/clears the cache

decrement()

public function decrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

delete()

public function delete( string $key ): bool;

Deletes data from the adapter

deleteMultiple()

public function deleteMultiple( array $keys ): bool;

Deletes multiple data from the adapter

get()

public function get(
    string $key,
    mixed $defaultValue = null
): mixed;

Reads data from the adapter

getAdapter()

public function getAdapter(): mixed;

Returns the already connected adapter or connects to the backend server(s)

getKeys()

public function getKeys( string $prefix = "" ): array;

Returns all the keys stored

getPrefix()

public function getPrefix(): string;

Returns the prefix for the keys

has()

public function has( string $key ): bool;

Checks if an element exists in the cache

increment()

public function increment(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

set()

public function set(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

Stores data in the adapter forever. The key needs to manually deleted from the adapter.

Storage\Adapter\Apcu

Class Source on GitHub

Apcu adapter

Capabilities: - Counters: native atomic (apcu_inc()/apcu_dec()). - getKeys(): APCUIterator regex scan over the shared APCu store. - Serializers: Phalcon-side only; no backend-native serializer.

@property array $options

Uses APCUIterator · DateInterval · Exception · Phalcon\Storage\SerializerFactory · Phalcon\Support\Exception

Method Summary

Properties

protected string $prefix = "ph-apcu-"

Methods

Public · 4

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

Apcu constructor.

clear()

public function clear(): bool;

Flushes/clears the cache

getKeys()

public function getKeys( string $prefix = "" ): array;

Stores data in the adapter

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

Stores data in the adapter forever. The key needs to manually deleted from the adapter.

Protected · 14

doDecrement()

protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

doDelete()

protected function doDelete( string $key ): bool;

Deletes data from the adapter

doDeleteMultiple()

protected function doDeleteMultiple( array $keys ): bool;

Deletes multiple keys from APCu in a single call

doGetData()

protected function doGetData( string $key );

doHas()

protected function doHas( string $key ): bool;

Checks if an element exists in the cache

doIncrement()

protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

doSet()

protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

phpApcuDec()

protected function phpApcuDec(
    mixed $key,
    int $step = 1
): bool|int;

@todo Remove the below once we get traits

phpApcuDelete()

protected function phpApcuDelete( mixed $key ): bool|array;

phpApcuExists()

protected function phpApcuExists( mixed $key ): bool|array;

phpApcuFetch()

protected function phpApcuFetch( mixed $key ): mixed;

phpApcuInc()

protected function phpApcuInc(
    mixed $key,
    int $step = 1
): bool|int;

phpApcuIterator()

protected function phpApcuIterator( string $pattern ): APCUIterator|bool;

phpApcuStore()

protected function phpApcuStore(
    mixed $key,
    mixed $payload,
    int $ttl = 0
): bool|array;

Storage\Adapter\Libmemcached

Class Source on GitHub

Libmemcached adapter

Capabilities: - Counters: native atomic (Memcached::increment()/decrement()). - getKeys(): Memcached::getAllKeys(), which is server-dependent and may be incomplete or unavailable on modern memcached builds. - Serializers: Phalcon-side plus libmemcached's own options.

Uses DateInterval · Exception · Phalcon\Storage\Exception · Phalcon\Storage\Exceptions\ConnectionFailed · Phalcon\Storage\Exceptions\InvalidConfiguration · Phalcon\Storage\SerializerFactory · Phalcon\Support\Exception

Method Summary

Properties

protected string $prefix = "ph-memc-"

Methods

Public · 5

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

Libmemcached constructor.

clear()

public function clear(): bool;

Flushes/clears the cache

getAdapter()

public function getAdapter(): mixed;

Returns the already connected adapter or connects to the Memcached server(s)

getKeys()

public function getKeys( string $prefix = "" ): array;

Stores data in the adapter

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

Stores data in the adapter forever. The key needs to manually deleted from the adapter.

Protected · 6

doDecrement()

protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

doDelete()

protected function doDelete( string $key ): bool;

Deletes data from the adapter

doDeleteMultiple()

protected function doDeleteMultiple( array $keys ): bool;

Deletes multiple keys from Memcached using a single deleteMulti call

doHas()

protected function doHas( string $key ): bool;

Checks if an element exists in the cache

doIncrement()

protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

doSet()

protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

Storage\Adapter\Memory

Class Source on GitHub

Memory adapter

@property array $data @property array $options

Capabilities: - Scope: per-request, in-process; nothing is shared across requests or processes and the store is discarded when the request ends. - Counters: read-modify-write on the in-memory array. - getKeys(): in-memory array scan (cheap). - Optional maxItems FIFO cap drops the oldest entry before a new key is set.

Uses DateInterval · Exception · Phalcon\Storage\SerializerFactory · Phalcon\Support\Exception

Method Summary

Properties

protected array $data = []
protected int $maxItems = 0 Maximum number of items retained in the in-memory store. 0 (default) keeps the original unbounded behavior; a positive value drops the oldest entry FIFO before a new key is stored.

Methods

Public · 6

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

Memory constructor.

clear()

public function clear(): bool;

Flushes/clears the cache

getKeys()

public function getKeys( string $prefix = "" ): array;

Stores data in the adapter

getMaxItems()

public function getMaxItems(): int;

Returns the configured store cap (0 = unlimited). See setMaxItems().

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

Stores data in the adapter forever. The key needs to manually deleted from the adapter.

setMaxItems()

public function setMaxItems( int $maxItems ): static;

Caps the number of items retained in the in-memory store. 0 disables the cap (the default; preserves the original unbounded behavior). When the cap is exceeded, the oldest entry is evicted FIFO before a new key is stored.

Protected · 6

doDecrement()

protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

doDelete()

protected function doDelete( string $key ): bool;

Deletes data from the adapter

doGetData()

protected function doGetData( string $key );

doHas()

protected function doHas( string $key ): bool;

Checks if an element exists in the cache

doIncrement()

protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

doSet()

protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

Storage\Adapter\Redis

Class Source on GitHub

Redis adapter

Capabilities: - Counters: native atomic (incrBy()/decrBy()). - getKeys(): non-blocking SCAN iteration. - Serializers: Phalcon-side, or backend-native via OPT_SERIALIZER. Native serializers change the bytes at rest and are not interchangeable with Phalcon-side serializers.

@property array $options

Uses DateInterval · Exception · Phalcon\Storage\Exception · Phalcon\Storage\Exceptions\AuthenticationFailed · Phalcon\Storage\Exceptions\ConnectionFailed · Phalcon\Storage\Exceptions\DatabaseSelectionFailed · Phalcon\Storage\SerializerFactory · Phalcon\Support\Exception

Method Summary

Properties

protected string $prefix = "ph-reds-"

Methods

Public · 5

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

Redis constructor.

clear()

public function clear(): bool;

Flushes/clears the cache

getAdapter()

public function getAdapter(): mixed;

Returns the already connected adapter or connects to the Redis server(s)

getKeys()

public function getKeys( string $prefix = "" ): array;

Stores data in the adapter

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

Stores data in the adapter forever. The key needs to manually deleted from the adapter.

Protected · 6

doDecrement()

protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

doDelete()

protected function doDelete( string $key ): bool;

Deletes data from the adapter

doDeleteMultiple()

protected function doDeleteMultiple( array $keys ): bool;

Deletes multiple keys from Redis using a single unlink call

doHas()

protected function doHas( string $key ): bool;

Checks if an element exists in the cache

doIncrement()

protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

doSet()

protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

Storage\Adapter\RedisCluster

Class Source on GitHub

RedisCluster adapter

Capabilities (in addition to Redis): - Counters: native atomic (incrBy()/decrBy()). - getKeys(): blocking KEYS across all master nodes (per-node SCAN is left to the redesign); clear() flushes every master. - Serializers: Phalcon-side, or backend-native via OPT_SERIALIZER.

@property array $options

Uses Phalcon\Storage\Exceptions\ClusterConnectionFailed · Phalcon\Storage\SerializerFactory

Method Summary

Properties

protected string $prefix = "ph-redc-"

Methods

Public · 4

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

You can create and connect to a cluster either by passing it one or more 'seed' nodes, or by defining these in redis.ini as a 'named' cluster.

If you are connecting with the cluster by offering a name, that is configured in redis.ini:

 ```
 # In redis.ini
 redis.clusters.seeds = "mycluster[]=localhost:7000&test[]=localhost:7001"
 redis.clusters.timeout = "mycluster=5"
 redis.clusters.read_timeout = "mycluster=10"
 redis.clusters.auth = "mycluster=password"
 ```

you can use $options = ["name" => "mycluster"].

If you don't have cluster seeds configured in your redis.ini, you should pass hosts as an array, eg. $options = ["hosts" => ["a-host:7000", "b-host:7001"]].

You can provide authentication data offering a string user=password or array ["user" => "name", "password" => "secret"].

The timeout is the amount of time library will wait when connecting or writing to the cluster. readTimeout is the amount of time library will wait for a result from the cluster.

The context is an array of values used for ssl/tls stream context options eg ["verify_peer" => 0, "local_cert" => "file:///path/to/cert.pem"]

clear()

public function clear(): bool;

Flushes/clears the cache

getAdapter()

public function getAdapter(): mixed;

Returns the already connected adapter or connects to the Redis Cluster server(s)

getKeys()

public function getKeys( string $prefix = "" ): array;

Returns all the keys stored

RedisCluster::scan() iterates one node at a time, so the blocking KEYS command is retained here (phpredis routes it across the masters). The per-node SCAN migration is left to the storage redesign.

Storage\Adapter\Stream

Class Source on GitHub

Stream adapter

Capabilities: - Counters: read-modify-write (doHas()/doGet()/doSet()); not atomic and racy across concurrent processes. - getKeys(): recursive directory traversal; cost grows with the entry count. - Serializers: Phalcon-side only.

@property string $storageDir @property array $options

Uses DateInterval · FilesystemIterator · Iterator · Phalcon\Storage\Exceptions\InvalidConfiguration · Phalcon\Storage\SerializerFactory · Phalcon\Support\Exception · RecursiveDirectoryIterator · RecursiveIteratorIterator

Method Summary

Properties

protected string $prefix = "ph-strm"
protected string $storageDir = ""

Methods

Public · 4

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

Stream constructor.

clear()

public function clear(): bool;

Flushes/clears the cache

getKeys()

public function getKeys( string $prefix = "" ): array;

Stores data in the adapter

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

Stores data in the adapter forever. The key needs to manually deleted from the adapter.

Protected · 11

doDecrement()

protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number

doDelete()

protected function doDelete( string $key ): bool;

Deletes data from the adapter

doGet()

protected function doGet(
    string $key,
    mixed $defaultValue = null
): mixed;

Reads data from the adapter

doHas()

protected function doHas( string $key ): bool;

Checks if an element exists in the cache and is not expired

doIncrement()

protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number

doSet()

protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

phpFileExists()

protected function phpFileExists( string $filename ): bool;

@todo Remove the methods below when we get traits

phpFileGetContents()

protected function phpFileGetContents( string $filename ): string|bool;

phpFilePutContents()

protected function phpFilePutContents(
    string $filename,
    mixed $data,
    int $flags = 0,
    mixed $context = null
): int|bool;

phpFopen()

protected function phpFopen(
    string $filename,
    string $mode
): mixed;
protected function phpUnlink( string $filename ): bool;

Storage\Adapter\Weak

Class Source on GitHub

Weak Adapter

Capabilities: - Stores objects only, as WeakReferences; entries vanish when the referenced object is garbage-collected. - TTL is ignored; no serializer is used (none/no-op). - Counters unsupported: increment()/decrement() return false. - setForever() is equivalent to set(); getKeys() reads the in-memory list.

Uses DateInterval · Exception · Phalcon\Storage\SerializerFactory · Phalcon\Storage\Serializer\SerializerInterface · Phalcon\Support\Exception

Method Summary

Properties

protected int|null $fetching = null
protected array $options = []
protected array $weakList = []

Methods

Public · 5

__construct()

public function __construct(
    SerializerFactory $factory,
    array $options = []
);

Constructor, there are no options

clear()

public function clear(): bool;

Flushes/clears the cache

getKeys()

public function getKeys( string $prefix = "" ): array;

Stores data in the adapter

setDefaultSerializer()

public function setDefaultSerializer( string $serializer ): void;

will never set a serializer, WeakReference cannot be serialized

setForever()

public function setForever(
    string $key,
    mixed $value
): bool;

For compatiblity only, there is no Forever with WeakReference.

Protected · 6

doDecrement()

protected function doDecrement(
    string $key,
    int $value = 1
): int|bool;

Decrements a stored number - not supported for WeakReference

doDelete()

protected function doDelete( string $key ): bool;

Deletes data from the adapter

doGet()

protected function doGet(
    string $key,
    mixed $defaultValue = null
): mixed;

Reads data from the adapter

doHas()

protected function doHas( string $key ): bool;

Checks if an element exists in the cache

doIncrement()

protected function doIncrement(
    string $key,
    int $value = 1
): int|bool;

Increments a stored number - not supported for WeakReference

doSet()

protected function doSet(
    string $key,
    mixed $value,
    mixed $ttl = null
): bool;

Stores data in the adapter. If the TTL is null (default) or not defined then the default TTL will be used, as set in this adapter. If the TTL is 0 or a negative number, a delete() will be issued, since this item has expired. If you need to set this key forever, you should use the setForever() method.

Storage\Exception

Class Source on GitHub

Phalcon\Storage\Exception

Exceptions thrown in Phalcon\Storage will use this class

Storage\Exceptions\AuthenticationFailed

Class Source on GitHub

Uses Phalcon\Storage\Exception

Method Summary

Methods

Public · 1

__construct()

public function __construct();

Storage\Exceptions\ClusterConnectionFailed

Class Source on GitHub

Uses Phalcon\Storage\Exception

Storage\Exceptions\ConnectionFailed

Class Source on GitHub

Uses Phalcon\Storage\Exception

Storage\Exceptions\DatabaseSelectionFailed

Class Source on GitHub

Uses Phalcon\Storage\Exception

Method Summary

Methods

Public · 1

__construct()

public function __construct();

Storage\Exceptions\InvalidConfiguration

Class Source on GitHub

Uses Phalcon\Storage\Exception

Storage\Exceptions\StorageError

Class Source on GitHub

Uses Phalcon\Storage\Exception

Storage\SerializerFactory

Class Source on GitHub

Uses Phalcon\Factory\AbstractFactory · Phalcon\Storage\Serializer\SerializerInterface

Method Summary

Methods

Public · 2

__construct()

public function __construct( array $services = [] );

SerializerFactory constructor.

newInstance()

public function newInstance( string $name ): SerializerInterface;
Protected · 2

getExceptionClass()

protected function getExceptionClass(): string;

getServices()

protected function getServices(): array;

Returns the available adapters

Storage\Serializer\AbstractSerializer

Abstract Source on GitHub

@property mixed $data @property bool $isSuccess

Method Summary

Properties

protected mixed $data = null
protected bool $isSuccess = true

Methods

Public · 6

__construct()

public function __construct( mixed $data = null );

AbstractSerializer constructor.

__serialize()

public function __serialize(): array;

Serialize data

__unserialize()

public function __unserialize( array $data ): void;

Unserialize data

getData()

public function getData(): mixed;

isSuccess()

public function isSuccess(): bool;

Returns true if the serialize/unserialize operation was successful; false otherwise

setData()

public function setData( mixed $data ): void;
Protected · 1

isSerializable()

protected function isSerializable( mixed $data ): bool;

If this returns true, then the data is returned as is

Storage\Serializer\Base64

Class Source on GitHub

Uses Phalcon\Storage\Serializer\Exceptions\InvalidSerializationInput · Phalcon\Storage\Serializer\Exceptions\InvalidUnserializationInput

Method Summary

Methods

Public · 2

serialize()

public function serialize(): string;

Serializes data

unserialize()

public function unserialize( mixed $data ): void;

Unserializes data

@retrun void

Protected · 1

phpBase64Decode()

protected function phpBase64Decode(
    string $input,
    bool $strict = false
);

Wrapper for base64_decode

Storage\Serializer\Exceptions\InvalidSerializationInput

Class Source on GitHub

  • \InvalidArgumentException
    • Phalcon\Storage\Serializer\Exceptions\InvalidSerializationInput

Method Summary

Methods

Public · 1

__construct()

public function __construct();

Storage\Serializer\Exceptions\InvalidUnserializationInput

Class Source on GitHub

  • \InvalidArgumentException
    • Phalcon\Storage\Serializer\Exceptions\InvalidUnserializationInput

Method Summary

Methods

Public · 1

__construct()

public function __construct();

Storage\Serializer\Igbinary

Class Source on GitHub

Method Summary

Methods

Public · 2

serialize()

public function serialize(): mixed;

Serializes data

unserialize()

public function unserialize( mixed $data ): void;

Unserializes data

Protected · 3

doSerialize()

protected function doSerialize( mixed $value ): string|null;

Serialize

doUnserialize()

protected function doUnserialize( mixed $value );

Unserialize

phpIgbinarySerialize()

protected function phpIgbinarySerialize( mixed $value ): string|null;

Wrapper for igbinary_serialize

Storage\Serializer\Json

Class Source on GitHub

Uses InvalidArgumentException · Phalcon\Support\Helper\Json\Decode · Phalcon\Support\Helper\Json\Encode

Method Summary

Methods

Public · 3

__construct()

public function __construct( mixed $data = null );

AbstractSerializer constructor.

serialize()

public function serialize(): mixed;

Serializes data

unserialize()

public function unserialize( mixed $data ): void;

Unserializes data

Storage\Serializer\MemcachedIgbinary

Class Source on GitHub

Serializer using the built-in Memcached 'igbinary' serializer

Storage\Serializer\MemcachedJson

Class Source on GitHub

Serializer using the built-in Memcached 'json' serializer

Storage\Serializer\MemcachedPhp

Class Source on GitHub

Serializer using the built-in Memcached 'php' serializer

Storage\Serializer\Msgpack

Class Source on GitHub

Method Summary

Methods

Protected · 2

doSerialize()

protected function doSerialize( mixed $value ): string;

Serializes data

doUnserialize()

protected function doUnserialize( mixed $value );

Storage\Serializer\None

Class Source on GitHub

Method Summary

Methods

Public · 2

serialize()

public function serialize(): mixed;

Serializes data

unserialize()

public function unserialize( mixed $data ): void;

Unserializes data

@retrun void

Storage\Serializer\Php

Class Source on GitHub

Uses Phalcon\Storage\Serializer\Exceptions\InvalidUnserializationInput

Method Summary

Methods

Public · 2

serialize()

public function serialize(): mixed;

Serializes data

unserialize()

public function unserialize( mixed $data ): void;

Unserializes data

Storage\Serializer\RedisIgbinary

Class Source on GitHub

Serializer using the built-in Redis 'igbinary' serializer

Storage\Serializer\RedisJson

Class Source on GitHub

Serializer using the built-in Redis 'json' serializer

Storage\Serializer\RedisMsgpack

Class Source on GitHub

Serializer using the built-in Redis 'msgpack' serializer

Storage\Serializer\RedisNone

Class Source on GitHub

Serializer using the built-in Redis 'none' serializer

Storage\Serializer\RedisPhp

Class Source on GitHub

Serializer using the built-in Redis 'php' serializer

Storage\Serializer\SerializerInterface

Interface Source on GitHub

  • Phalcon\Storage\Serializer\SerializerInterface

Method Summary

Methods

Public · 4

getData()

public function getData(): mixed;

serialize()

public function serialize(): mixed;

Serializes data

setData()

public function setData( mixed $data ): void;

unserialize()

public function unserialize( mixed $data ): void;

Unserializes data