Cache/Backend/Static.php

Show: PublicProtectedPrivateinherited
Table of Contents
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.

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

Package: Zend\Cache\Zend\Cache\Backend
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

>VConstant  INNER_CACHE_NAME = 'zend_cache_backend_static_tagcache'

Properties

>VPropertyprotectedarray $_directives = array('lifetime' => 3600, 'logging' => false, 'logger' => null)
inherited
Frontend or Core directives
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

Default valuearray('lifetime' => 3600, 'logging' => false, 'logger' => null)Details
Type
array
Inherited_from
\Zend_Cache_Backend::$$_directives  
>VPropertyprotectedarray $_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
Default valuearray('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
>VPropertyprotected\Zend_Cache_Core $_tagCache = null
Cache for handling tags
Default valuenullDetails
Type
\Zend_Cache_Core
>VPropertyprotectedarray $_tagged = null
Tagged items
Default valuenullDetails
Type
array

Methods

methodpublic__construct(array $options = array()) : void
inherited

Constructor

Inherited from: \Zend_Cache_Backend::__construct()
Parameters
NameTypeDescription
$optionsarray

Associative array of options

Throws
ExceptionDescription
\Zend_Cache_Exception
methodprotected_createDirectoriesFor( $path) : void

Recursively create the directories needed to write the static file

Parameters
NameTypeDescription
$path
methodprotected_decodeId(string $id) : string

Decode a request URI from the provided ID

Parameters
NameTypeDescription
$idstring
Returns
TypeDescription
string
methodprotected_detectId() : string

Determine the page to save from the request

Returns
TypeDescription
string
methodprotected_isGoodTmpDir(string $dir) : boolean
inherited

Verify if the given temporary directory is readable and writable

Inherited from: \Zend_Cache_Backend::_isGoodTmpDir()
Parameters
NameTypeDescription
$dirstring

temporary directory

Returns
TypeDescription
booleantrue if the directory is ok
methodprotected_isSerialized( $data) : void

Detect 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.

Parameters
NameTypeDescription
$data
methodprotected_log(string $message,  $priority = 4) : void
inherited

Log a message at the WARN (4) priority.

Inherited from: \Zend_Cache_Backend::_log()
Parameters
NameTypeDescription
$messagestring
$priority
Throws
ExceptionDescription
\Zend_Cache_Exception
methodprotected_loggerSanity() : void
inherited

Make 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.

Throws
ExceptionDescription
\Zend_Cache_Exception
methodprotected_octdec(string $val) : int

Detect an octal string and return its octal value for file permission ops otherwise return the non-string (assumed octal or decimal int already)

Parameters
NameTypeDescription
$valstring

The potential octal in need of conversion

Returns
TypeDescription
int
methodprotected_validateIdOrTag(string $string) : void
static

Validate a cache id or a tag (security, reliable filenames, reserved prefixes.

..)

Throw an exception if a problem is found

Parameters
NameTypeDescription
$stringstring

Cache id or tag

Throws
ExceptionDescription
\Zend_Cache_Exception
Details
Deprecated
Not usable until perhaps ZF 2.0  
methodprotected_verifyPath(string $path) : bool

Verify path exists and is non-empty

Parameters
NameTypeDescription
$pathstring
Returns
TypeDescription
bool
methodpublicclean(string $mode = \Zend_Cache::CLEANING_MODE_ALL, array $tags = array()) : boolean

Clean 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)

Parameters
NameTypeDescription
$modestring

Clean mode

$tagsarray

Array of tags

Returns
TypeDescription
booleantrue if no problem
methodpublicgetInnerCache() : \Zend_Cache_Core

Get the Inner Cache if set

Returns
TypeDescription
\Zend_Cache_Core
methodpublicgetLifetime(int $specificLifetime) : int
inherited

Get the life time

Inherited from: \Zend_Cache_Backend::getLifetime()

if $specificLifetime is not false, the given specific life time is used else, the global lifetime is used

Parameters
NameTypeDescription
$specificLifetimeint
Returns
TypeDescription
intCache life time
methodpublicgetOption(string $name) : mixed

Retrieve any option via interception of the parent's statically held options including the local option for a tag cache.

Parameters
NameTypeDescription
$namestring
Returns
TypeDescription
mixed
Throws
ExceptionDescription
\Zend_Cache_Exceptions
methodpublicgetTmpDir() : string
inherited

Determine system TMP directory and detect if we have read access

Inherited from: \Zend_Cache_Backend::getTmpDir()

inspired from Zend_File_Transfer_Adapter_Abstract

Returns
TypeDescription
string
Throws
ExceptionDescription
\Zend_Cache_Exceptionif unable to determine directory
methodpublicisAutomaticCleaningAvailable() : boolean
inherited

Return true if the automatic cleaning is available for the backend

Inherited from: \Zend_Cache_Backend::isAutomaticCleaningAvailable()

DEPRECATED : use getCapabilities() instead

Returns
TypeDescription
boolean
methodpublicload(string $id, boolean $doNotTestCacheValidity = false) : string | false

Test 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)

Parameters
NameTypeDescription
$idstring

Cache id

$doNotTestCacheValidityboolean

If set to true, the cache validity won't be tested

Returns
TypeDescription
string | falsecached datas
methodpublicremove(string $id) : boolean

Remove a cache record

Parameters
NameTypeDescription
$idstring

Cache id

Returns
TypeDescription
booleanTrue if no problem
methodpublicremoveRecursively(string $id) : boolean

Remove 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)

Parameters
NameTypeDescription
$idstring

Cache id

Returns
TypeDescription
booleanTrue if no problem
methodpublicsave(string $data, string $id, array $tags = array(), int $specificLifetime = false) : boolean

Save some string datas into a cache record

Note : $data is always "string" (serialization is done by the core not by the backend)

Parameters
NameTypeDescription
$datastring

Datas to cache

$idstring

Cache id

$tagsarray

Array of strings, the cache record will be tagged by each string entry

$specificLifetimeint

If != false, set a specific lifetime for this cache record (null => infinite lifetime)

Returns
TypeDescription
booleantrue if no problem
methodpublicsetDirectives(array $directives) : void
inherited

Set the frontend directives

Inherited from: \Zend_Cache_Backend_Interface::setDirectives()
Parameters
NameTypeDescription
$directivesarray

assoc of directives

Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublicsetInnerCache(\Zend_Cache_Core $cache) : void

Set 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.

Parameters
NameTypeDescription
$cache\Zend_Cache_Core
methodpublicsetOption(string $name, mixed $value) : \Zend_Cache_Backend_Static

Interceptor child method to handle the case where an Inner Cache object is being set since it's not supported by the standard backend interface

Parameters
NameTypeDescription
$namestring
$valuemixed
Returns
TypeDescription
\Zend_Cache_Backend_Static
Throws
ExceptionDescription
\Zend_Cache_Exception
methodpublictest(string $id) : bool

Test if a cache is available or not (for the given id)

Parameters
NameTypeDescription
$idstring

cache id

Returns
TypeDescription
bool
Documentation was generated by phpDocumentor 2.0.0a12.