Zend Framework  1.12
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Zend_Cache_Backend_File Class Reference

Public Member Functions

 __construct (array $options=array())
 Constructor.
 
 setCacheDir ($value, $trailingSeparator=true)
 Set the cache_dir (particular case of setOption() method)
 
 load ($id, $doNotTestCacheValidity=false)
 Test if a cache is available for the given id and (if yes) return it (false else)
 
 test ($id)
 Test if a cache is available or not (for the given id)
 
 save ($data, $id, $tags=array(), $specificLifetime=false)
 Save some string datas into a cache record.
 
 remove ($id)
 Remove a cache record.
 
 clean ($mode=Zend_Cache::CLEANING_MODE_ALL, $tags=array())
 Clean some cache records.
 
 getIds ()
 Return an array of stored cache ids.
 
 getTags ()
 Return an array of stored tags.
 
 getIdsMatchingTags ($tags=array())
 Return an array of stored cache ids which match given tags.
 
 getIdsNotMatchingTags ($tags=array())
 Return an array of stored cache ids which don't match given tags.
 
 getIdsMatchingAnyTags ($tags=array())
 Return an array of stored cache ids which match any given tags.
 
 getFillingPercentage ()
 Return the filling percentage of the backend storage.
 
 getMetadatas ($id)
 Return an array of metadatas for the given cache id.
 
 touch ($id, $extraLifetime)
 Give (if possible) an extra lifetime to the given cache id.
 
 getCapabilities ()
 Return an associative array of capabilities (booleans) of the backend.
 
 ___expire ($id)
 PUBLIC METHOD FOR UNIT TESTING ONLY !
 
- Public Member Functions inherited from Zend_Cache_Backend
 __construct (array $options=array())
 Constructor.
 
 setDirectives ($directives)
 Set the frontend directives.
 
 setOption ($name, $value)
 Set an option.
 
 getOption ($name)
 Returns an option.
 
 getLifetime ($specificLifetime)
 Get the life time.
 
 isAutomaticCleaningAvailable ()
 Return true if the automatic cleaning is available for the backend.
 
 getTmpDir ()
 Determine system TMP directory and detect if we have read access.
 

Protected Member Functions

 _getMetadatas ($id)
 Get a metadatas record.
 
 _setMetadatas ($id, $metadatas, $save=true)
 Set a metadatas record.
 
 _delMetadatas ($id)
 Drop a metadata record.
 
 _cleanMetadatas ()
 Clear the metadatas array.
 
 _loadMetadatas ($id)
 Load metadatas from disk.
 
 _saveMetadatas ($id, $metadatas)
 Save metadatas to disk.
 
 _metadatasFile ($id)
 Make and return a file name (with path) for metadatas.
 
 _isMetadatasFile ($fileName)
 Check if the given filename is a metadatas one.
 
 _remove ($file)
 Remove a file.
 
 _clean ($dir, $mode=Zend_Cache::CLEANING_MODE_ALL, $tags=array())
 Clean some cache records (protected method used for recursive stuff)
 
 _get ($dir, $mode, $tags=array())
 
 _expireTime ($lifetime)
 Compute & return the expire time.
 
 _hash ($data, $controlType)
 Make a control key with the string containing datas.
 
 _idToFileName ($id)
 Transform a cache id into a file name and return it.
 
 _file ($id)
 Make and return a file name (with path)
 
 _path ($id, $parts=false)
 Return the complete directory path of a filename (including hashedDirectoryStructure)
 
 _recursiveMkdirAndChmod ($id)
 Make the directory strucuture for the given id.
 
 _test ($id, $doNotTestCacheValidity)
 Test if the given cache id is available (and still valid as a cache record)
 
 _fileGetContents ($file)
 Return the file content of the given file.
 
 _filePutContents ($file, $string)
 Put the given string into the given file.
 
 _fileNameToId ($fileName)
 Transform a file name into cache id and return it.
 
- Protected Member Functions inherited from Zend_Cache_Backend
 _isGoodTmpDir ($dir)
 Verify if the given temporary directory is readable and writable.
 
 _loggerSanity ()
 Make sure if we enable logging that the Zend_Log class is available.
 
 _log ($message, $priority=4)
 Log a message at the WARN (4) priority.
 

Protected Attributes

 $_options
 
 $_metadatasArray = array()
 
- Protected Attributes inherited from Zend_Cache_Backend
 $_directives
 
 $_options = array()
 

Constructor & Destructor Documentation

__construct ( array  $options = array())

Constructor.

Parameters
array$optionsassociative array of options
Exceptions
Zend_Cache_Exception
Returns
void

Member Function Documentation

___expire (   $id)

PUBLIC METHOD FOR UNIT TESTING ONLY !

Force a cache record to expire

Parameters
string$idcache id
_clean (   $dir,
  $mode = Zend_Cache::CLEANING_MODE_ALL,
  $tags = array() 
)
protected

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

Parameters
string$dirDirectory to clean
string$modeClean mode
array$tagsArray of tags
Exceptions
Zend_Cache_Exception
Returns
boolean True if no problem
_cleanMetadatas ( )
protected

Clear the metadatas array.

Returns
void
_delMetadatas (   $id)
protected

Drop a metadata record.

Parameters
string$idCache id
Returns
boolean True if no problem
_expireTime (   $lifetime)
protected

Compute & return the expire time.

Returns
int expire time (unix timestamp)
_file (   $id)
protected

Make and return a file name (with path)

Parameters
string$idCache id
Returns
string File name (with path)
_fileGetContents (   $file)
protected

Return the file content of the given file.

Parameters
string$fileFile complete path
Returns
string File content (or false if problem)
_fileNameToId (   $fileName)
protected

Transform a file name into cache id and return it.

Parameters
string$fileNameFile name
Returns
string Cache id
_filePutContents (   $file,
  $string 
)
protected

Put the given string into the given file.

Parameters
string$fileFile complete path
string$stringString to put in file
Returns
boolean true if no problem
_get (   $dir,
  $mode,
  $tags = array() 
)
protected
_getMetadatas (   $id)
protected

Get a metadatas record.

Parameters
string$idCache id
Returns
array|false Associative array of metadatas
_hash (   $data,
  $controlType 
)
protected

Make a control key with the string containing datas.

Parameters
string$dataData
string$controlTypeType of control 'md5', 'crc32' or 'strlen'
Exceptions
Zend_Cache_Exception
Returns
string Control key
_idToFileName (   $id)
protected

Transform a cache id into a file name and return it.

Parameters
string$idCache id
Returns
string File name
_isMetadatasFile (   $fileName)
protected

Check if the given filename is a metadatas one.

Parameters
string$fileNameFile name
Returns
boolean True if it's a metadatas one
_loadMetadatas (   $id)
protected

Load metadatas from disk.

Parameters
string$idCache id
Returns
array|false Metadatas associative array
_metadatasFile (   $id)
protected

Make and return a file name (with path) for metadatas.

Parameters
string$idCache id
Returns
string Metadatas file name (with path)
_path (   $id,
  $parts = false 
)
protected

Return the complete directory path of a filename (including hashedDirectoryStructure)

Parameters
string$idCache id
boolean$partsif true, returns array of directory parts instead of single string
Returns
string Complete directory path
_recursiveMkdirAndChmod (   $id)
protected

Make the directory strucuture for the given id.

Parameters
string$idcache id
Returns
boolean true
_remove (   $file)
protected

Remove a file.

If we can't remove the file (because of locks or any problem), we will touch the file to invalidate it

Parameters
string$fileComplete file path
Returns
boolean True if ok
_saveMetadatas (   $id,
  $metadatas 
)
protected

Save metadatas to disk.

Parameters
string$idCache id
array$metadatasAssociative array
Returns
boolean True if no problem
_setMetadatas (   $id,
  $metadatas,
  $save = true 
)
protected

Set a metadatas record.

Parameters
string$idCache id
array$metadatasAssociative array of metadatas
boolean$saveoptional pass false to disable saving to file
Returns
boolean True if no problem
_test (   $id,
  $doNotTestCacheValidity 
)
protected

Test if the given cache id is available (and still valid as a cache record)

Parameters
string$idCache id
boolean$doNotTestCacheValidityIf set to true, the cache validity won't be tested
Returns
boolean|mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record
clean (   $mode = Zend_Cache::CLEANING_MODE_ALL,
  $tags = array() 
)

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
string$modeclean mode
tagsarray $tags array of tags
Returns
boolean true if no problem

Implements Zend_Cache_Backend_Interface.

getCapabilities ( )

Return 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)
Returns
array associative of with capabilities

Implements Zend_Cache_Backend_ExtendedInterface.

getFillingPercentage ( )

Return the filling percentage of the backend storage.

Exceptions
Zend_Cache_Exception
Returns
int integer between 0 and 100

Implements Zend_Cache_Backend_ExtendedInterface.

getIds ( )

Return an array of stored cache ids.

Returns
array array of stored cache ids (string)

Implements Zend_Cache_Backend_ExtendedInterface.

getIdsMatchingAnyTags (   $tags = array())

Return an array of stored cache ids which match any given tags.

In case of multiple tags, a logical AND is made between tags

Parameters
array$tagsarray of tags
Returns
array array of any matching cache ids (string)

Implements Zend_Cache_Backend_ExtendedInterface.

getIdsMatchingTags (   $tags = array())

Return an array of stored cache ids which match given tags.

In case of multiple tags, a logical AND is made between tags

Parameters
array$tagsarray of tags
Returns
array array of matching cache ids (string)

Implements Zend_Cache_Backend_ExtendedInterface.

getIdsNotMatchingTags (   $tags = 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

Parameters
array$tagsarray of tags
Returns
array array of not matching cache ids (string)

Implements Zend_Cache_Backend_ExtendedInterface.

getMetadatas (   $id)

Return 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
Parameters
string$idcache id
Returns
array array of metadatas (false if the cache id is not found)

Implements Zend_Cache_Backend_ExtendedInterface.

getTags ( )

Return an array of stored tags.

Returns
array array of stored tags (string)

Implements Zend_Cache_Backend_ExtendedInterface.

load (   $id,
  $doNotTestCacheValidity = false 
)

Test if a cache is available for the given id and (if yes) return it (false else)

Parameters
string$idcache id
boolean$doNotTestCacheValidityif set to true, the cache validity won't be tested
Returns
string|false cached datas

Implements Zend_Cache_Backend_Interface.

remove (   $id)

Remove a cache record.

Parameters
string$idcache id
Returns
boolean true if no problem

Implements Zend_Cache_Backend_Interface.

save (   $data,
  $id,
  $tags = array(),
  $specificLifetime = false 
)

Save some string datas into a cache record.

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

Parameters
string$dataDatas to cache
string$idCache id
array$tagsArray of strings, the cache record will be tagged by each string entry
int$specificLifetimeIf != false, set a specific lifetime for this cache record (null => infinite lifetime)
Returns
boolean true if no problem

Implements Zend_Cache_Backend_Interface.

setCacheDir (   $value,
  $trailingSeparator = true 
)

Set the cache_dir (particular case of setOption() method)

Parameters
string$value
boolean$trailingSeparatorIf true, add a trailing separator is necessary
Exceptions
Zend_Cache_Exception
Returns
void
test (   $id)

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

Parameters
string$idcache id
Returns
mixed false (a cache is not available) or "last modified" timestamp (int) of the available cache record

Implements Zend_Cache_Backend_Interface.

touch (   $id,
  $extraLifetime 
)

Give (if possible) an extra lifetime to the given cache id.

Parameters
string$idcache id
int$extraLifetime
Returns
boolean true if ok

Implements Zend_Cache_Backend_ExtendedInterface.

Member Data Documentation

$_metadatasArray = array()
protected
$_options
protected
Initial value:
= array(
'cache_dir' => null,
'file_locking' => true,
'read_control' => true,
'read_control_type' => 'crc32',
'hashed_directory_level' => 0,
'hashed_directory_perm' => 0700,
'file_name_prefix' => 'zend_cache',
'cache_file_perm' => 0600,
'metadatas_array_max_size' => 100
)