file.php.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 93 行

SVN-BASE
93
字号
<?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** @package Cache_Lite* @version $Id$* @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 $_masterFile = '';        /**    * Masterfile mtime    *    * @var int $_masterFile_mtime    */    var $_masterFile_mtime = 0;        // --- Public methods ----        /**    * Constructor    *    * $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 :    * $options = array(    *     (...) see Cache_Lite constructor    *     'masterFile' => complete path of the file used for controlling the cache lifetime(string)    * );    *    * @param array $options options    * @access public    */    function Cache_Lite_File($options = array(NULL))    {           $options['lifetime'] = 0;        $this->Cache_Lite($options);        if (isset($options['masterFile'])) {            $this->_masterFile = $options['masterFile'];        } else {            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    * @return string data of the cache (or false if no cache available)    * @access public    */    function get($id, $group = 'default')     {        if ($data = parent::get($id, $group, true)) {            if ($filemtime = $this->lastModified()) {                if ($filemtime > $this->_masterFile_mtime) {                    return $data;                }            }        }        return false;    }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?