Source for file File.php
Documentation is available at File.php
* This class extends Cache_Lite and offers a cache system driven by a master file
* With this class, cache validity is only dependent of a given file. Cache files
* are valid only if they are older than the master file. It's a perfect way for
* caching templates results (if the template file is newer than the cache, cache
* must be rebuild...) or for config classes...
* There are some examples in the 'docs/examples' file
* Technical choices are described in the 'docs/technical' file
* @author Fabien MARTY <fab@php.net>
require_once('Cache/Lite.php');
class Cache_Lite_File extends Cache_Lite
// --- Private properties ---
* Complete path of the file used for controlling the cache lifetime
* @var string $_masterFile
* @var int $_masterFile_mtime
var $_masterFile_mtime = 0;
// --- Public methods ----
* $options is an assoc. To have a look at availables options,
* see the constructor of the Cache_Lite class in 'Cache_Lite.php'
* Comparing to Cache_Lite constructor, there is another option :
* (...) see Cache_Lite constructor
* 'masterFile' => complete path of the file used for controlling the cache lifetime(string)
* @param array $options options
function Cache_Lite_File ($options = array (NULL ))
$options['lifetime'] = 0;
$this->Cache_Lite ($options);
if (isset ($options['masterFile'])) {
$this->_masterFile = $options['masterFile'];
return $this->raiseError ('Cache_Lite_File : masterFile option must be set !');
if (!($this->_masterFile_mtime = @filemtime($this->_masterFile))) {
return $this->raiseError ('Cache_Lite_File : Unable to read masterFile : '. $this->_masterFile, -3 );
* Test if a cache is available and (if yes) return it
* @param string $id cache id
* @param string $group name of the cache group
* @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested
* @return string data of the cache (else : false)
function get ($id, $group = 'default', $doNotTestCacheValidity = false )
if ($data = parent ::get ($id, $group, true )) {
if ($filemtime = $this->lastModified ()) {
if ($filemtime > $this->_masterFile_mtime) {
Documentation generated on Thu, 24 May 2012 08:00:02 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.
|