Cache/Backend/Static.php
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 [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Cache
- Subpackage
- Zend_Cache_Backend
- Version
- $Id: Static.php 24989 2012-06-21 07:24:13Z mabe $
\Zend_Cache_Backend_Static
- Implements
- \Zend_Cache_Backend_Interface
- Parent(s)
- \Zend_Cache_Backend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties

array $_directives = array('lifetime' => 3600, 'logging' => false, 'logger' => null)Frontend or Core directives
<p>directives</p>Inherited from: \Zend_Cache_Backend::$$_directives=====> (int) lifetime : - Cache lifetime (in seconds) - If null, the cache is valid forever
=====> (int) logging : - if set to true, a logging is activated throw Zend_Log
array('lifetime' => 3600, 'logging' => false, 'logger' => null)Details- Type
- array
- Inherited_from
- \Zend_Cache_Backend::$$_directives

array $_options = array('public_dir' => null, 'sub_dir' => 'html', 'file_extension' => '.html', 'index_filename' => 'index', 'file_locking' => true, 'cache_file_umask' => 384, 'cache_directory_umask' => 448, 'debug_header' => false, 'tag_cache' => null, 'disable_caching' => false)Static backend options
array('public_dir' => null, 'sub_dir' => 'html', 'file_extension' => '.html', 'index_filename' => 'index', 'file_locking' => true, 'cache_file_umask' => 384, 'cache_directory_umask' => 448, 'debug_header' => false, 'tag_cache' => null, 'disable_caching' => false)Details- Type
- array

\Zend_Cache_Core $_tagCache = nullCache for handling tags
nullDetails- Type
- \Zend_Cache_Core
Methods

__construct(array $options = array()) : void
| Name | Type | Description |
|---|---|---|
| $options | array | Associative array of options |
| Exception | Description |
|---|---|
| \Zend_Cache_Exception |

_createDirectoriesFor( $path) : voidRecursively create the directories needed to write the static file
| Name | Type | Description |
|---|---|---|
| $path |

_decodeId(string $id) : stringDecode a request URI from the provided ID
| Name | Type | Description |
|---|---|---|
| $id | string |
| Type | Description |
|---|---|
| string |

_isGoodTmpDir(string $dir) : booleanVerify if the given temporary directory is readable and writable
Inherited from: \Zend_Cache_Backend::_isGoodTmpDir()| Name | Type | Description |
|---|---|---|
| $dir | string | temporary directory |
| Type | Description |
|---|---|
| boolean | true if the directory is ok |

_isSerialized( $data) : voidDetect serialization of data (cannot predict since this is the only way to obey the interface yet pass in another parameter).
In future, ZF 2.0, check if we can just avoid the interface restraints.
This format is the only valid one possible for the class, so it's simple to just run a regular expression for the starting serialized format.
| Name | Type | Description |
|---|---|---|
| $data |

_log(string $message, $priority = 4) : void
| Name | Type | Description |
|---|---|---|
| $message | string | |
| $priority |
| Exception | Description |
|---|---|
| \Zend_Cache_Exception |

_loggerSanity() : voidMake sure if we enable logging that the Zend_Log class is available.
Inherited from: \Zend_Cache_Backend::_loggerSanity()Create a default log object if none is set.
| Exception | Description |
|---|---|
| \Zend_Cache_Exception |

_octdec(string $val) : intDetect an octal string and return its octal value for file permission ops otherwise return the non-string (assumed octal or decimal int already)
| Name | Type | Description |
|---|---|---|
| $val | string | The potential octal in need of conversion |
| Type | Description |
|---|---|
| int |

_validateIdOrTag(string $string) : voidValidate a cache id or a tag (security, reliable filenames, reserved prefixes.
..)
Throw an exception if a problem is found
| Name | Type | Description |
|---|---|---|
| $string | string | Cache id or tag |
| Exception | Description |
|---|---|
| \Zend_Cache_Exception |
- Deprecated
- Not usable until perhaps ZF 2.0

_verifyPath(string $path) : boolVerify path exists and is non-empty
| Name | Type | Description |
|---|---|---|
| $path | string |
| Type | Description |
|---|---|
| bool |

clean(string $mode = \Zend_Cache::CLEANING_MODE_ALL, array $tags = array()) : booleanClean some cache records
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)
| Name | Type | Description |
|---|---|---|
| $mode | string | Clean mode |
| $tags | array | Array of tags |
| Type | Description |
|---|---|
| boolean | true if no problem |

getInnerCache() : \Zend_Cache_CoreGet the Inner Cache if set
| Type | Description |
|---|---|
| \Zend_Cache_Core |

getLifetime(int $specificLifetime) : int
if $specificLifetime is not false, the given specific life time is used else, the global lifetime is used
| Name | Type | Description |
|---|---|---|
| $specificLifetime | int |
| Type | Description |
|---|---|
| int | Cache life time |

getOption(string $name) : mixedRetrieve any option via interception of the parent's statically held options including the local option for a tag cache.
| Name | Type | Description |
|---|---|---|
| $name | string |
| Type | Description |
|---|---|
| mixed |
| Exception | Description |
|---|---|
| \Zend_Cache_Exceptions |

getTmpDir() : stringDetermine system TMP directory and detect if we have read access
Inherited from: \Zend_Cache_Backend::getTmpDir()inspired from Zend_File_Transfer_Adapter_Abstract
| Type | Description |
|---|---|
| string |
| Exception | Description |
|---|---|
| \Zend_Cache_Exception | if unable to determine directory |

isAutomaticCleaningAvailable() : booleanReturn true if the automatic cleaning is available for the backend
Inherited from: \Zend_Cache_Backend::isAutomaticCleaningAvailable()DEPRECATED : use getCapabilities() instead
| Type | Description |
|---|---|
| boolean |

load(string $id, boolean $doNotTestCacheValidity = false) : string | falseTest if a cache is available for the given id and (if yes) return it (false else)
Note : return value is always "string" (unserialization is done by the core not by the backend)
| Name | Type | Description |
|---|---|---|
| $id | string | Cache id |
| $doNotTestCacheValidity | boolean | If set to true, the cache validity won't be tested |
| Type | Description |
|---|---|
| string | false | cached datas |

remove(string $id) : booleanRemove a cache record
| Name | Type | Description |
|---|---|---|
| $id | string | Cache id |
| Type | Description |
|---|---|
| boolean | True if no problem |

removeRecursively(string $id) : booleanRemove a cache record recursively for the given directory matching a REQUEST_URI based relative path (deletes the actual file matching this in addition to the matching directory)
| Name | Type | Description |
|---|---|---|
| $id | string | Cache id |
| Type | Description |
|---|---|
| boolean | True if no problem |

save(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)
| Name | Type | Description |
|---|---|---|
| $data | string | Datas to cache |
| $id | string | Cache id |
| $tags | array | Array of strings, the cache record will be tagged by each string entry |
| $specificLifetime | int | If != false, set a specific lifetime for this cache record (null => infinite lifetime) |
| Type | Description |
|---|---|
| boolean | true if no problem |

setDirectives(array $directives) : void
| Name | Type | Description |
|---|---|---|
| $directives | array | assoc of directives |
| Exception | Description |
|---|---|
| \Zend_Cache_Exception |

setInnerCache( $cache) : voidSet an Inner Cache, used here primarily to store Tags associated with caches created by this backend.
Note: If Tags are lost, the cache should be completely cleaned as the mapping of tags to caches will have been irrevocably lost.
| Name | Type | Description |
|---|---|---|
| $cache | Zend_Cache_Core |

setOption(string $name, mixed $value) : \Zend_Cache_Backend_StaticInterceptor child method to handle the case where an Inner Cache object is being set since it's not supported by the standard backend interface
| Name | Type | Description |
|---|---|---|
| $name | string | |
| $value | mixed |
| Type | Description |
|---|---|
| \Zend_Cache_Backend_Static |
| Exception | Description |
|---|---|
| \Zend_Cache_Exception |