home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / SimplePie / Cache / Base.php next >
Encoding:
PHP Script  |  2012-11-21  |  3.4 KB  |  115 lines

  1. <?php
  2. /**
  3.  * SimplePie
  4.  *
  5.  * A PHP-Based RSS and Atom Feed Framework.
  6.  * Takes the hard work out of managing a complete RSS/Atom solution.
  7.  *
  8.  * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
  9.  * All rights reserved.
  10.  *
  11.  * Redistribution and use in source and binary forms, with or without modification, are
  12.  * permitted provided that the following conditions are met:
  13.  *
  14.  *     * Redistributions of source code must retain the above copyright notice, this list of
  15.  *       conditions and the following disclaimer.
  16.  *
  17.  *     * Redistributions in binary form must reproduce the above copyright notice, this list
  18.  *       of conditions and the following disclaimer in the documentation and/or other materials
  19.  *       provided with the distribution.
  20.  *
  21.  *     * Neither the name of the SimplePie Team nor the names of its contributors may be used
  22.  *       to endorse or promote products derived from this software without specific prior
  23.  *       written permission.
  24.  *
  25.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
  26.  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  27.  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
  28.  * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  29.  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  30.  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  31.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  32.  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  33.  * POSSIBILITY OF SUCH DAMAGE.
  34.  *
  35.  * @package SimplePie
  36.  * @version 1.3.1
  37.  * @copyright 2004-2012 Ryan Parman, Geoffrey Sneddon, Ryan McCue
  38.  * @author Ryan Parman
  39.  * @author Geoffrey Sneddon
  40.  * @author Ryan McCue
  41.  * @link http://simplepie.org/ SimplePie
  42.  * @license http://www.opensource.org/licenses/bsd-license.php BSD License
  43.  */
  44.  
  45. /**
  46.  * Base for cache objects
  47.  *
  48.  * Classes to be used with {@see SimplePie_Cache::register()} are expected
  49.  * to implement this interface.
  50.  *
  51.  * @package SimplePie
  52.  * @subpackage Caching
  53.  */
  54. interface SimplePie_Cache_Base
  55. {
  56.     /**
  57.      * Feed cache type
  58.      *
  59.      * @var string
  60.      */
  61.     const TYPE_FEED = 'spc';
  62.  
  63.     /**
  64.      * Image cache type
  65.      *
  66.      * @var string
  67.      */
  68.     const TYPE_IMAGE = 'spi';
  69.  
  70.     /**
  71.      * Create a new cache object
  72.      *
  73.      * @param string $location Location string (from SimplePie::$cache_location)
  74.      * @param string $name Unique ID for the cache
  75.      * @param string $type Either TYPE_FEED for SimplePie data, or TYPE_IMAGE for image data
  76.      */
  77.     public function __construct($location, $name, $type);
  78.  
  79.     /**
  80.      * Save data to the cache
  81.      *
  82.      * @param array|SimplePie $data Data to store in the cache. If passed a SimplePie object, only cache the $data property
  83.      * @return bool Successfulness
  84.      */
  85.     public function save($data);
  86.  
  87.     /**
  88.      * Retrieve the data saved to the cache
  89.      *
  90.      * @return array Data for SimplePie::$data
  91.      */
  92.     public function load();
  93.  
  94.     /**
  95.      * Retrieve the last modified time for the cache
  96.      *
  97.      * @return int Timestamp
  98.      */
  99.     public function mtime();
  100.  
  101.     /**
  102.      * Set the last modified time to the current time
  103.      *
  104.      * @return bool Success status
  105.      */
  106.     public function touch();
  107.  
  108.     /**
  109.      * Remove the cache
  110.      *
  111.      * @return bool Success status
  112.      */
  113.     public function unlink();
  114. }
  115.