Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
array $_metadatasArray = 'array'Array of metadatas (each item is an associative array)
Detailsarray $_options = 'array'Available options
=====> (string) cache_dir : - Directory where to put the cache files
=====> (boolean) file_locking : - Enable / disable file_locking - Can avoid cache corruption under bad circumstances but it doesn't work on multithread webservers and on NFS filesystems for example
=====> (boolean) read_control : - Enable / disable read control - If enabled, a control key is embeded in cache file and this key is compared with the one calculated after the reading.
=====> (string) read_control_type : - Type of read control (only if read control is enabled). Available values are : 'md5' for a md5 hash control (best but slowest) 'crc32' for a crc32 hash control (lightly less safe but faster, better choice) 'adler32' for an adler32 hash control (excellent choice too, faster than crc32) 'strlen' for a length only test (fastest)
=====> (int) hashed_directory_level : - Hashed directory level - Set the hashed directory structure level. 0 means "no hashed directory structure", 1 means "one level of directory", 2 means "two levels"... This option can speed up the cache only when you have many thousands of cache file. Only specific benchs can help you to choose the perfect value for you. Maybe, 1 or 2 is a good start.
=====> (int) hashed_directory_umask : - Umask for hashed directory structure
=====> (string) file_name_prefix : - prefix for cache files - be really carefull with this option because a too generic value in a system cache dir (like /tmp) can cause disasters when cleaning the cache
=====> (int) cache_file_umask : - Umask for cache files
=====> (int) metatadatas_array_max_size : - max size for the metadatas array (don't change this value unless you know what you are doing)
Details___expire(
string $id
)
:
PUBLIC METHOD FOR UNIT TESTING ONLY !
Force a cache record to expire
Details__construct(
array $options
=
array
)
:
voidConstructor
Details_clean(
string $dir, string $mode
=
Zend_Cache, array $tags
=
array
)
:
booleanClean some cache records (protected method used for recursive stuff)
Available modes are : Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used) Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags} ($tags can be an array of strings or a single string) Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags ($tags can be an array of strings or a single string)
Details_cleanMetadatas(
)
:
voidClear the metadatas array
Details_delMetadatas(
string $id
)
:
booleanDrop a metadata record
Details_expireTime(
$lifetime
)
:
intCompute & return the expire time
Details_file(
string $id
)
:
stringMake and return a file name (with path)
Details_fileGetContents(
string $file
)
:
stringReturn the file content of the given file
Details_fileNameToId(
string $fileName
)
:
stringTransform a file name into cache id and return it
Details_filePutContents(
string $file, string $string
)
:
booleanPut the given string into the given file
Details_get(
$dir, $mode, $tags
=
array
)
:
Details_getMetadatas(
string $id
)
:
array|falseGet a metadatas record
Details_hash(
string $data, string $controlType
)
:
stringMake a control key with the string containing datas
Details_idToFileName(
string $id
)
:
stringTransform a cache id into a file name and return it
Details_isMetadatasFile(
string $fileName
)
:
booleanCheck if the given filename is a metadatas one
Details_loadMetadatas(
string $id
)
:
array|falseLoad metadatas from disk
Details_metadatasFile(
string $id
)
:
stringMake and return a file name (with path) for metadatas
Details_path(
string $id, boolean $parts
=
false
)
:
stringReturn the complete directory path of a filename (including hashedDirectoryStructure)
Details_recursiveMkdirAndChmod(
string $id
)
:
booleanMake the directory strucuture for the given id
Details_remove(
string $file
)
:
booleanRemove a file
If we can't remove the file (because of locks or any problem), we will touch the file to invalidate it
Details_saveMetadatas(
string $id, array $metadatas
)
:
booleanSave metadatas to disk
Details_setMetadatas(
string $id, array $metadatas, boolean $save
=
true
)
:
booleanSet a metadatas record
Details_test(
string $id, boolean $doNotTestCacheValidity
)
:
boolean|mixedTest if the given cache id is available (and still valid as a cache record)
Detailsclean(
string $mode
=
Zend_Cache, tags $tags
=
array
)
:
booleanClean some cache records
Available modes are : 'all' (default) => remove all cache entries ($tags is not used) 'old' => remove too old cache entries ($tags is not used) 'matchingTag' => remove cache entries matching all given tags ($tags can be an array of strings or a single string) 'notMatchingTag' => remove cache entries not matching one of the given tags ($tags can be an array of strings or a single string) 'matchingAnyTag' => remove cache entries matching any given tags ($tags can be an array of strings or a single string)
DetailsgetCapabilities(
)
:
arrayReturn an associative array of capabilities (booleans) of the backend
The array must include these keys : - automatic_cleaning (is automating cleaning necessary) - tags (are tags supported) - expired_read (is it possible to read expired cache records (for doNotTestCacheValidity option for example)) - priority does the backend deal with priority when saving - infinite_lifetime (is infinite lifetime can work with this backend) - get_list (is it possible to get the list of cache ids and the complete list of tags)
DetailsgetFillingPercentage(
)
:
intReturn the filling percentage of the backend storage
DetailsgetIds(
)
:
arrayReturn an array of stored cache ids
DetailsgetIdsMatchingAnyTags(
array $tags
=
array
)
:
arrayReturn an array of stored cache ids which match any given tags
In case of multiple tags, a logical AND is made between tags
DetailsgetIdsMatchingTags(
array $tags
=
array
)
:
arrayReturn an array of stored cache ids which match given tags
In case of multiple tags, a logical AND is made between tags
DetailsgetIdsNotMatchingTags(
array $tags
=
array
)
:
arrayReturn an array of stored cache ids which don't match given tags
In case of multiple tags, a logical OR is made between tags
DetailsgetMetadatas(
string $id
)
:
arrayReturn an array of metadatas for the given cache id
The array must include these keys : - expire : the expire timestamp - tags : a string array of tags - mtime : timestamp of last modification time
DetailsgetTags(
)
:
arrayReturn an array of stored tags
Detailsload(
string $id, boolean $doNotTestCacheValidity
=
false
)
:
string|falseTest if a cache is available for the given id and (if yes) return it (false else)
Detailsremove(
string $id
)
:
booleanRemove a cache record
Detailssave(
string $data, string $id, array $tags
=
array, int $specificLifetime
=
false
)
:
booleanSave some string datas into a cache record
Note : $data is always "string" (serialization is done by the core not by the backend)
DetailssetCacheDir(
string $value, boolean $trailingSeparator
=
true
)
:
voidSet the cache_dir (particular case of setOption() method)
Detailstest(
string $id
)
:
mixedTest if a cache is available or not (for the given id)
Detailstouch(
string $id, int $extraLifetime
)
:
booleanGive (if possible) an extra lifetime to the given cache id
Details