Cache/Core.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
- Version
- $Id: Core.php 24989 2012-06-21 07:24:13Z mabe $
\Zend_Cache_Core
- Children
- \Zend_Cache_Frontend_Class
- \Zend_Cache_Frontend_File
- \Zend_Cache_Frontend_Capture
- \Zend_Cache_Frontend_Page
- \Zend_Cache_Frontend_Output
- \Zend_Cache_Frontend_Function
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties


array $_backendCapabilities = array()
Array of capabilities of the backend (only if it implements Zend_Cache_Backend_ExtendedInterface)
array()
Details- Type
- array


array $_directivesList = array('lifetime', 'logging', 'logger')
Array of options which have to be transfered to backend
array('lifetime', 'logging', 'logger')
Details- Type
- array


boolean $_extendedBackend = false
True if the backend implements Zend_Cache_Backend_ExtendedInterface
false
Details- Type
- boolean


array $_options = array('write_control' => true, 'caching' => true, 'cache_id_prefix' => null, 'automatic_serialization' => false, 'automatic_cleaning_factor' => 10, 'lifetime' => 3600, 'logging' => false, 'logger' => null, 'ignore_user_abort' => false)
Available options
<p>available options</p>====> (boolean) write_control : - Enable / disable write control (the cache is read just after writing to detect corrupt entries) - Enable write control will lightly slow the cache writing but not the cache reading Write control can detect some corrupt cache files but maybe it's not a perfect control
====> (boolean) caching : - Enable / disable caching (can be very useful for the debug of cached scripts)
=====> (string) cache_id_prefix : - prefix for cache ids (namespace)
====> (boolean) automatic_serialization : - Enable / disable automatic serialization - It can be used to save directly datas which aren't strings (but it's slower)
====> (int) automatic_cleaning_factor : - Disable / Tune the automatic cleaning process - The automatic cleaning process destroy too old (for the given life time) cache files when a new cache file is written : 0 => no automatic cache cleaning 1 => systematic cache cleaning x (integer) > 1 => automatic cleaning randomly 1 times on x cache write
====> (int) lifetime : - Cache lifetime (in seconds) - If null, the cache is valid forever.
====> (boolean) logging : - If set to true, logging is activated (but the system is slower)
====> (boolean) ignore_user_abort - If set to true, the core will set the ignore_user_abort PHP flag inside the save() method to avoid cache corruptions in some cases (default false)
array('write_control' => true, 'caching' => true, 'cache_id_prefix' => null, 'automatic_serialization' => false, 'automatic_cleaning_factor' => 10, 'lifetime' => 3600, 'logging' => false, 'logger' => null, 'ignore_user_abort' => false)
Details- Type
- array
Methods


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


_id(string $id) : string
Make and return a cache id
Checks 'cache_id_prefix' and returns new id with prefix or simply the id if null
Name | Type | Description |
---|---|---|
$id | string | Cache id |
Type | Description |
---|---|
string | Cache id (with or without prefix) |


_log(string $message, $priority = 4) : void
Log a message at the WARN (4) priority.
Name | Type | Description |
---|---|---|
$message | string | |
$priority |
Exception | Description |
---|---|
\Zend_Cache_Exception |


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


_setOption(string $name, mixed $value) : void
Set an option
Name | Type | Description |
---|---|---|
$name | string | Name of the option |
$value | mixed | Value of the option |
Exception | Description |
---|---|
\Zend_Cache_Exception |


_validateIdOrTag(string $string) : void
Validate 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 |


_validateTagsArray(array $tags) : void
Validate a tags array (security, reliable filenames, reserved prefixes.
..)
Throw an exception if a problem is found
Name | Type | Description |
---|---|---|
$tags | array | Array of tags |
Exception | Description |
---|---|
\Zend_Cache_Exception |


clean(string $mode = 'all', array | string $tags = array()) : boolean
Clean cache entries
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)
Name | Type | Description |
---|---|---|
$mode | string | |
$tags | array | string |
Type | Description |
---|---|
boolean | True if ok |
Exception | Description |
---|---|
\Zend_Cache_Exception |


getBackend() : \Zend_Cache_Backend
Returns the backend
Type | Description |
---|---|
\Zend_Cache_Backend | backend object |


getFillingPercentage() : int
Return the filling percentage of the backend storage
Type | Description |
---|---|
int | integer between 0 and 100 |


getIds() : array
Return an array of stored cache ids
Type | Description |
---|---|
array | array of stored cache ids (string) |


getIdsMatchingAnyTags(array $tags = array()) : array
Return an array of stored cache ids which match any given tags
In case of multiple tags, a logical OR is made between tags
Name | Type | Description |
---|---|---|
$tags | array | array of tags |
Type | Description |
---|---|
array | array of matching any cache ids (string) |


getIdsMatchingTags(array $tags = array()) : array
Return an array of stored cache ids which match given tags
In case of multiple tags, a logical AND is made between tags
Name | Type | Description |
---|---|---|
$tags | array | array of tags |
Type | Description |
---|---|
array | array of matching cache ids (string) |


getIdsNotMatchingTags(array $tags = array()) : array
Return an array of stored cache ids which don't match given tags
In case of multiple tags, a logical OR is made between tags
Name | Type | Description |
---|---|---|
$tags | array | array of tags |
Type | Description |
---|---|
array | array of not matching cache ids (string) |


getMetadatas(string $id) : array
Return an array of metadatas for the given cache id
The array will include these keys : - expire : the expire timestamp - tags : a string array of tags - mtime : timestamp of last modification time
Name | Type | Description |
---|---|---|
$id | string | cache id |
Type | Description |
---|---|
array | array of metadatas (false if the cache id is not found) |


getOption(string $name) : mixed
Public frontend to get an option value
Name | Type | Description |
---|---|---|
$name | string | Name of the option |
Type | Description |
---|---|
mixed | option value |
Exception | Description |
---|---|
\Zend_Cache_Exception |


getTags() : array
Return an array of stored tags
Type | Description |
---|---|
array | array of stored tags (string) |


load(string $id, boolean $doNotTestCacheValidity = false, boolean $doNotUnserialize = false) : mixed | false
Test if a cache is available for the given id and (if yes) return it (false else)
Name | Type | Description |
---|---|---|
$id | string | Cache id |
$doNotTestCacheValidity | boolean | If set to true, the cache validity won't be tested |
$doNotUnserialize | boolean | Do not serialize (even if automatic_serialization is true) => for internal use |
Type | Description |
---|---|
mixed | false | Cached datas |


remove(string $id) : boolean
Remove a cache
Name | Type | Description |
---|---|---|
$id | string | Cache id to remove |
Type | Description |
---|---|
boolean | True if ok |


save(mixed $data, string $id = null, array $tags = array(), int $specificLifetime = false, int $priority = 8) : boolean
Save some data in a cache
Name | Type | Description |
---|---|---|
$data | mixed | Data to put in cache (can be another type than string if automatic_serialization is on) |
$id | string | Cache id (if not set, the last cache id will be used) |
$tags | array | Cache tags |
$specificLifetime | int | If != false, set a specific lifetime for this cache record (null => infinite lifetime) |
$priority | int | integer between 0 (very low priority) and 10 (maximum priority) used by some particular backends |
Type | Description |
---|---|
boolean | True if no problem |
Exception | Description |
---|---|
\Zend_Cache_Exception |


setBackend(\Zend_Cache_Backend $backendObject) : void
Set the backend
Name | Type | Description |
---|---|---|
$backendObject | \Zend_Cache_Backend |
Exception | Description |
---|---|
\Zend_Cache_Exception |


setConfig(\Zend_Config $config) : \Zend_Cache_Core
Set options using an instance of type Zend_Config
Name | Type | Description |
---|---|---|
$config | \Zend_Config |
Type | Description |
---|---|
\Zend_Cache_Core |


setLifetime(int $newLifetime) : void
Force a new lifetime
The new value is set for the core/frontend but for the backend too (directive)
Name | Type | Description |
---|---|---|
$newLifetime | int | New lifetime (in seconds) |


setOption(string $name, mixed $value) : void
Public frontend to set an option
There is an additional validation (relatively to the protected _setOption method)
Name | Type | Description |
---|---|---|
$name | string | Name of the option |
$value | mixed | Value of the option |
Exception | Description |
---|---|
\Zend_Cache_Exception |


test(string $id) : int | false
Test if a cache is available for the given id
Name | Type | Description |
---|---|---|
$id | string | Cache id |
Type | Description |
---|---|
int | false | Last modified time of cache entry if it is available, false otherwise |