[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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 * Used to create cache objects 47 * 48 * This class can be overloaded with {@see SimplePie::set_cache_class()}, 49 * although the preferred way is to create your own handler 50 * via {@see register()} 51 * 52 * @package SimplePie 53 * @subpackage Caching 54 */ 55 class SimplePie_Cache 56 { 57 /** 58 * Cache handler classes 59 * 60 * These receive 3 parameters to their constructor, as documented in 61 * {@see register()} 62 * @var array 63 */ 64 protected static $handlers = array( 65 'mysql' => 'SimplePie_Cache_MySQL', 66 'memcache' => 'SimplePie_Cache_Memcache', 67 ); 68 69 /** 70 * Don't call the constructor. Please. 71 */ 72 private function __construct() { } 73 74 /** 75 * Create a new SimplePie_Cache object 76 * 77 * @param string $location URL location (scheme is used to determine handler) 78 * @param string $filename Unique identifier for cache object 79 * @param string $extension 'spi' or 'spc' 80 * @return SimplePie_Cache_Base Type of object depends on scheme of `$location` 81 */ 82 public static function get_handler($location, $filename, $extension) 83 { 84 $type = explode(':', $location, 2); 85 $type = $type[0]; 86 if (!empty(self::$handlers[$type])) 87 { 88 $class = self::$handlers[$type]; 89 return new $class($location, $filename, $extension); 90 } 91 92 return new SimplePie_Cache_File($location, $filename, $extension); 93 } 94 95 /** 96 * Create a new SimplePie_Cache object 97 * 98 * @deprecated Use {@see get_handler} instead 99 */ 100 public function create($location, $filename, $extension) 101 { 102 trigger_error('Cache::create() has been replaced with Cache::get_handler(). Switch to the registry system to use this.', E_USER_DEPRECATED); 103 return self::get_handler($location, $filename, $extension); 104 } 105 106 /** 107 * Register a handler 108 * 109 * @param string $type DSN type to register for 110 * @param string $class Name of handler class. Must implement SimplePie_Cache_Base 111 */ 112 public static function register($type, $class) 113 { 114 self::$handlers[$type] = $class; 115 } 116 117 /** 118 * Parse a URL into an array 119 * 120 * @param string $url 121 * @return array 122 */ 123 public static function parse_URL($url) 124 { 125 $params = parse_url($url); 126 $params['extras'] = array(); 127 if (isset($params['query'])) 128 { 129 parse_str($params['query'], $params['extras']); 130 } 131 return $params; 132 } 133 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |