예제 #1
0
 /**
  * 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)
  *
  * @param  string       $mode
  * @param  array|string $tags
  * @throws Zend_Cache_Exception
  * @return boolean True if ok
  */
 public function clean($mode = 'all', $tags = array())
 {
     if (!$this->_options['caching']) {
         return true;
     }
     if (!in_array($mode, array(Zend_Cache::CLEANING_MODE_ALL, Zend_Cache::CLEANING_MODE_OLD, Zend_Cache::CLEANING_MODE_MATCHING_TAG, Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG, Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG))) {
         Zend_Cache::throwException('Invalid cleaning mode');
     }
     self::_validateTagsArray($tags);
     return $this->_backend->clean($mode, $tags);
 }
예제 #2
0
 /**
  * Object destructor
  *
  * Clean up backend storage
  */
 public function __destruct()
 {
     if ($this->_backend !== null) {
         $this->_backend->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, $this->_tags);
     }
 }