Zeta Components Manual :: Docs For Class ezcCacheStorageFileArray
Cache::ezcCacheStorageFileArray
Class ezcCacheStorageFileArray
This cache storage implementation stores arrays and scalar values
(int, float, string, bool) in files on your hard disk as PHP code. This makes the restoring of cache data extremly fast, since the stored data is simply included and parsed by the PHP interpreter. It takes its base methods from the extended storage base class ezcCacheStorageFile.
Another storage class with a similar approach exists, ezcCacheStorageFileEvalArray. This class is uses exactly the same mechanisms as ezcCacheStorageFileArray, except that is does not simply require the stored source code, but uses eval() to restore the data.
Main purpose behind these 2 similar implementations is the following: Most byte code caches are capable of caching code for included files, but not for eval()ed strings. Therefore the *Evalarray class will permit you to get your cached data not cached a second time by an accellerator like APC, whereas the *Array class will permit you to explicitly allow this. ATTENTION: If you do not use a byte code cache with your PHP installation, the use of ezcCacheStorageFileArray is recommende over the usage of ezcCacheStorageEvalarray.
For example code of using a cache storage, see ezcCacheManager.
The Cache package contains several other implementations of ezcCacheStorageFile. As there are:
- ezcCacheStorageFileEvalArray
- ezcCacheStorageFilePlain
Source for this file: /Cache/src/storage/file/array.php
ezcCacheStorage | --ezcCacheStorageFile | --ezcCacheStorageFileArray
Version: | //autogentag// |
Inherited Member Variables
From ezcCacheStorageFile | |
---|---|
protected |
ezcCacheStorageFile::$lockResource
|
From ezcCacheStorage | |
protected |
ezcCacheStorage::$properties
|
Method Summary
protected mixed |
fetchData(
$filename
)
Fetch data from the cache. |
protected string |
prepareData(
$data
)
Serialize the data for storing. |
Inherited Methods
From ezcCacheStorageFile | |
---|---|
public ezcCacheStorageFile |
ezcCacheStorageFile::__construct()
Creates a new cache storage in the given location. |
protected int |
ezcCacheStorageFile::calcLifetime()
Calculates the lifetime remaining for a cache object. |
public int |
ezcCacheStorageFile::countDataItems()
Return the number of items in the cache matching a certain criteria. |
public void |
ezcCacheStorageFile::delete()
Delete data from the cache. |
protected abstract mixed |
ezcCacheStorageFile::fetchData()
Fetch data from the cache. |
public string |
ezcCacheStorageFile::generateIdentifier()
Generate the storage internal identifier from ID and attributes. |
public int |
ezcCacheStorageFile::getRemainingLifetime()
Returns the time ( in seconds ) which remains for a cache object, before it gets outdated. In case the cache object is already outdated or does not exist, this method returns 0. |
public void |
ezcCacheStorageFile::lock()
Acquire a lock on the storage. |
protected abstract string |
ezcCacheStorageFile::prepareData()
Serialize the data for storing. |
public array(string) |
ezcCacheStorageFile::purge()
Purges the given number of cache items. |
public void |
ezcCacheStorageFile::reset()
Resets the whole storage. |
public mixed|bool |
ezcCacheStorageFile::restore()
Restore data from the cache. |
public ezcCacheStackMetaData|null |
ezcCacheStorageFile::restoreMetaData()
Restores and returns the meta data struct. |
protected array(int=>string) |
ezcCacheStorageFile::search()
Search the storage for data. |
protected array(int=>string) |
ezcCacheStorageFile::searchRecursive()
Search the storage for data recursively. |
public void |
ezcCacheStorageFile::setOptions()
Set new options. |
public string |
ezcCacheStorageFile::store()
Store data to the cache storage. |
public void |
ezcCacheStorageFile::storeMetaData()
Stores the given meta data struct. |
protected void |
ezcCacheStorageFile::storeRawData()
Actually stores the given data. |
public void |
ezcCacheStorageFile::unlock()
Release a lock on the storage. |
protected void |
ezcCacheStorageFile::validateLocation()
Checks the path in the location property exists, and is read-/writable. It throws an exception if not. |
From ezcCacheStorage | |
public ezcCacheStorage |
ezcCacheStorage::__construct()
Creates a new cache storage in the given location. |
public abstract int |
ezcCacheStorage::countDataItems()
Return the number of items in the cache matching a certain criteria. |
public abstract void |
ezcCacheStorage::delete()
Delete data from the cache. |
public string |
ezcCacheStorage::getLocation()
Returns the location. |
public ezcCacheStorageOptions |
ezcCacheStorage::getOptions()
Return the currently set options. |
public abstract int |
ezcCacheStorage::getRemainingLifetime()
Returns the time ( in seconds ) that remains for a cache object, before it gets outdated. In case the cache object is already outdated or does not exist, this method returns 0. |
public abstract mixed |
ezcCacheStorage::restore()
Restore data from the cache. |
public void |
ezcCacheStorage::setOptions()
Set new options. |
public abstract string |
ezcCacheStorage::store()
Store data to the cache storage. |
protected abstract void |
ezcCacheStorage::validateLocation()
Checks if the location property is valid. |
Methods
fetchData
Fetch data from the cache.
This method does the fetching of the data itself. In this case, the method simply includes the file and returns the value returned by the include (or false on failure).
Parameters:
Name | Type | Description |
---|---|---|
$filename |
string | The file to fetch data from. |
Redefinition of:
Method | Description |
---|---|
ezcCacheStorageFile::fetchData() |
Fetch data from the cache. |
prepareData
Serialize the data for storing.
Serializes a PHP variable (except type resource and object) to a executable PHP code representation string.
Parameters:
Name | Type | Description |
---|---|---|
$data |
mixed | Simple type or array |
Exceptions:
Type | Description |
---|---|
ezcCacheInvalidDataException |
If the data submitted is an object or a resource, since this implementation of ezcCacheStorageFile can only deal with scalar and array values. |
Redefinition of:
Method | Description |
---|---|
ezcCacheStorageFile::prepareData() |
Serialize the data for storing. |