diff options
Diffstat (limited to 'framework/Caching')
-rw-r--r-- | framework/Caching/TAPCCache.php | 10 | ||||
-rw-r--r-- | framework/Caching/TCache.php | 11 | ||||
-rw-r--r-- | framework/Caching/TDbCache.php | 10 | ||||
-rw-r--r-- | framework/Caching/TEACache.php | 2 | ||||
-rw-r--r-- | framework/Caching/TMemCache.php | 28 | ||||
-rw-r--r-- | framework/Caching/TSqliteCache.php | 10 | ||||
-rw-r--r-- | framework/Caching/TXCache.php | 4 |
7 files changed, 28 insertions, 47 deletions
diff --git a/framework/Caching/TAPCCache.php b/framework/Caching/TAPCCache.php index 8826fac6..ec0aa35c 100644 --- a/framework/Caching/TAPCCache.php +++ b/framework/Caching/TAPCCache.php @@ -4,9 +4,8 @@ * * @author Alban Hanry <compte_messagerie@hotmail.com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TAPCCache.php 3281 2013-03-13 21:01:40Z ctrlaltca $ * @package System.Caching */ @@ -41,7 +40,6 @@ * * @author Alban Hanry <compte_messagerie@hotmail.com> * @author Knut Urdalen <knut.urdalen@gmail.com> - * @version $Id: TAPCCache.php 3281 2013-03-13 21:01:40Z ctrlaltca $ * @package System.Caching * @since 3.0b */ @@ -57,10 +55,10 @@ class TAPCCache extends TCache { if(!extension_loaded('apc')) throw new TConfigurationException('apccache_extension_required'); - + if(ini_get('apc.enabled') == false) - throw new TConfigurationException('apccache_extension_not_enabled'); - + throw new TConfigurationException('apccache_extension_not_enabled'); + if(substr(php_sapi_name(), 0, 3) === 'cli' and ini_get('apc.enable_cli') == false) throw new TConfigurationException('apccache_extension_not_enabled_cli'); diff --git a/framework/Caching/TCache.php b/framework/Caching/TCache.php index 0a0ca2db..99b3f24c 100644 --- a/framework/Caching/TCache.php +++ b/framework/Caching/TCache.php @@ -4,9 +4,8 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching */ @@ -42,7 +41,6 @@ Prado::using('System.Collections.TList'); * the cache acts as an array. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.0 */ @@ -313,7 +311,6 @@ abstract class TCache extends TModule implements ICache, ArrayAccess * - {@link TChainedCacheDependency}: checks whether any of a list of dependencies is changed or not * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -331,7 +328,6 @@ abstract class TCacheDependency extends TComponent implements ICacheDependency * last modification time remains unchanged. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -400,7 +396,6 @@ class TFileCacheDependency extends TCacheDependency * to a certain depth of the subdirectories. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -556,7 +551,6 @@ class TDirectoryCacheDependency extends TCacheDependency * set {@link setStateName StateName} to the name of the global state. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -617,7 +611,6 @@ class TGlobalStateCacheDependency extends TCacheDependency * (see {@link TList} for more details}). * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -667,7 +660,6 @@ class TChainedCacheDependency extends TCacheDependency * will be checked. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -694,7 +686,6 @@ class TApplicationStateCacheDependency extends TCacheDependency * for more details. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ diff --git a/framework/Caching/TDbCache.php b/framework/Caching/TDbCache.php index 01962a55..c26066a2 100644 --- a/framework/Caching/TDbCache.php +++ b/framework/Caching/TDbCache.php @@ -4,9 +4,8 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TDbCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching */ @@ -82,7 +81,6 @@ Prado::using('System.Data.TDbConnection'); * </code> * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TDbCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.1.0 */ @@ -463,12 +461,12 @@ class TDbCache extends TCache try { $sql='SELECT value FROM '.$this->_cacheTable.' WHERE itemkey=\''.$key.'\' AND (expire=0 OR expire>'.time().') ORDER BY expire DESC'; $command=$this->getDbConnection()->createCommand($sql); - return Prado::unserialize($command->queryScalar()); + return unserialize($command->queryScalar()); } catch(Exception $e) { $this->initializeCache(true); - return Prado::unserialize($command->queryScalar()); + return unserialize($command->queryScalar()); } } @@ -505,7 +503,7 @@ class TDbCache extends TCache { $command=$this->getDbConnection()->createCommand($sql); $command->bindValue(':key',$key,PDO::PARAM_STR); - $command->bindValue(':value',Prado::serialize($value),PDO::PARAM_LOB); + $command->bindValue(':value',serialize($value),PDO::PARAM_LOB); $command->execute(); return true; } diff --git a/framework/Caching/TEACache.php b/framework/Caching/TEACache.php index 6a20f63b..f57011a6 100644 --- a/framework/Caching/TEACache.php +++ b/framework/Caching/TEACache.php @@ -1 +1 @@ -<?php
/**
* TEACache class file
*
* @author Dario rigolin <drigolin@e-portaltech.it>
* @link http://www.pradosoft.com/
* @copyright Copyright © 2005-2013 PradoSoft
* @license http://www.pradosoft.com/license/
* @version $Id: TEACache.php 3281 2013-03-13 19:31:03Z xue $
* @package System.Caching
*/
/**
* TEACache class
*
* TEACache implements a cache application module based on {@link http://eaccelerator.net/ eAccelerator}.
*
* By definition, cache does not ensure the existence of a value
* even if it never expires. Cache is not meant to be an persistent storage.
*
* To use this module, the eAccelerator PHP extension must be loaded and enabled
*
* Please note that as of v0.9.6, eAccelerator no longer supports data caching.
* This means if you still want to use this component, your eAccelerator should be of 0.9.5.x or lower version.
*
* Some usage examples of TEACache are as follows,
* <code>
* $cache=new TEACache; // TEACache may also be loaded as a Prado application module
* $cache->init(null);
* $cache->add('object',$object);
* $object2=$cache->get('object');
* </code>
*
* If loaded, TEACache will register itself with {@link TApplication} as the
* cache module. It can be accessed via {@link TApplication::getCache()}.
*
* TEACache may be configured in application configuration file as follows
* <code>
* <module id="cache" class="System.Caching.TEACache" />
* </code>
*
* @author Dario Rigolin <drigolin@e-portaltech.it>
* @version $Id: TEACache.php 3281 2013-03-13 19:31:03Z xue $
* @package System.Caching
* @since 3.2.2
*/
class TEACache extends TCache
{
/**
* Initializes this module.
* This method is required by the IModule interface.
* @param TXmlElement configuration for this module, can be null
* @throws TConfigurationException if eaccelerator extension is not installed or not started, check your php.ini
*/
public function init($config)
{
if(!function_exists('eaccelerator_get'))
throw new TConfigurationException('eacceleratorcache_extension_required');
parent::init($config);
}
/**
* Retrieves a value from cache with a specified key.
* This is the implementation of the method declared in the parent class.
* @param string a unique key identifying the cached value
* @return string the value stored in cache, false if the value is not in the cache or expired.
*/
protected function getValue($key)
{
$value = eaccelerator_get($key);
return ($value === null) ? false : $value;
}
/**
* Stores a value identified by a key in cache.
* This is the implementation of the method declared in the parent class.
*
* @param string the key identifying the value to be cached
* @param string the value to be cached
* @param integer the number of seconds in which the cached value will expire. 0 means never expire.
* @return boolean true if the value is successfully stored into cache, false otherwise
*/
protected function setValue($key,$value,$expire)
{
return eaccelerator_put($key,$value,$expire);
}
/**
* Stores a value identified by a key into cache if the cache does not contain this key.
* This is the implementation of the method declared in the parent class.
*
* @param string the key identifying the value to be cached
* @param string the value to be cached
* @param integer the number of seconds in which the cached value will expire. 0 means never expire.
* @return boolean true if the value is successfully stored into cache, false otherwise
*/
protected function addValue($key,$value,$expire)
{
return (null === eaccelerator_get($key)) ? $this->setValue($key,$value,$expire) : false;
}
/**
* Deletes a value with the specified key from cache
* This is the implementation of the method declared in the parent class.
* @param string the key of the value to be deleted
* @return boolean if no error happens during deletion
*/
protected function deleteValue($key)
{
return eaccelerator_rm($key);
}
/**
* Deletes all values from cache.
* Be careful of performing this operation if the cache is shared by multiple applications.
*/
public function flush()
{
// first, remove expired content from cache
eaccelerator_gc();
// now, remove leftover cache-keys
$keys = eaccelerator_list_keys();
foreach($keys as $key)
$this->deleteValue(substr($key['name'], 1));
return true;
}
}
\ No newline at end of file +<?php
/**
* TEACache class file
*
* @author Dario rigolin <drigolin@e-portaltech.it>
* @link http://www.pradosoft.com/
* @copyright Copyright © 2005-2014 PradoSoft
* @license http://www.pradosoft.com/license/
* @package System.Caching
*/
/**
* TEACache class
*
* TEACache implements a cache application module based on {@link http://eaccelerator.net/ eAccelerator}.
*
* By definition, cache does not ensure the existence of a value
* even if it never expires. Cache is not meant to be an persistent storage.
*
* To use this module, the eAccelerator PHP extension must be loaded and enabled
*
* Please note that as of v0.9.6, eAccelerator no longer supports data caching.
* This means if you still want to use this component, your eAccelerator should be of 0.9.5.x or lower version.
*
* Some usage examples of TEACache are as follows,
* <code>
* $cache=new TEACache; // TEACache may also be loaded as a Prado application module
* $cache->init(null);
* $cache->add('object',$object);
* $object2=$cache->get('object');
* </code>
*
* If loaded, TEACache will register itself with {@link TApplication} as the
* cache module. It can be accessed via {@link TApplication::getCache()}.
*
* TEACache may be configured in application configuration file as follows
* <code>
* <module id="cache" class="System.Caching.TEACache" />
* </code>
*
* @author Dario Rigolin <drigolin@e-portaltech.it>
* @package System.Caching
* @since 3.2.2
*/
class TEACache extends TCache
{
/**
* Initializes this module.
* This method is required by the IModule interface.
* @param TXmlElement configuration for this module, can be null
* @throws TConfigurationException if eaccelerator extension is not installed or not started, check your php.ini
*/
public function init($config)
{
if(!function_exists('eaccelerator_get'))
throw new TConfigurationException('eacceleratorcache_extension_required');
parent::init($config);
}
/**
* Retrieves a value from cache with a specified key.
* This is the implementation of the method declared in the parent class.
* @param string a unique key identifying the cached value
* @return string the value stored in cache, false if the value is not in the cache or expired.
*/
protected function getValue($key)
{
$value = eaccelerator_get($key);
return ($value === null) ? false : $value;
}
/**
* Stores a value identified by a key in cache.
* This is the implementation of the method declared in the parent class.
*
* @param string the key identifying the value to be cached
* @param string the value to be cached
* @param integer the number of seconds in which the cached value will expire. 0 means never expire.
* @return boolean true if the value is successfully stored into cache, false otherwise
*/
protected function setValue($key,$value,$expire)
{
return eaccelerator_put($key,$value,$expire);
}
/**
* Stores a value identified by a key into cache if the cache does not contain this key.
* This is the implementation of the method declared in the parent class.
*
* @param string the key identifying the value to be cached
* @param string the value to be cached
* @param integer the number of seconds in which the cached value will expire. 0 means never expire.
* @return boolean true if the value is successfully stored into cache, false otherwise
*/
protected function addValue($key,$value,$expire)
{
return (null === eaccelerator_get($key)) ? $this->setValue($key,$value,$expire) : false;
}
/**
* Deletes a value with the specified key from cache
* This is the implementation of the method declared in the parent class.
* @param string the key of the value to be deleted
* @return boolean if no error happens during deletion
*/
protected function deleteValue($key)
{
return eaccelerator_rm($key);
}
/**
* Deletes all values from cache.
* Be careful of performing this operation if the cache is shared by multiple applications.
*/
public function flush()
{
// first, remove expired content from cache
eaccelerator_gc();
// now, remove leftover cache-keys
$keys = eaccelerator_list_keys();
foreach($keys as $key)
$this->deleteValue(substr($key['name'], 1));
return true;
}
}
\ No newline at end of file diff --git a/framework/Caching/TMemCache.php b/framework/Caching/TMemCache.php index 8d2e6a4b..c2d4901b 100644 --- a/framework/Caching/TMemCache.php +++ b/framework/Caching/TMemCache.php @@ -5,9 +5,8 @@ * @author Qiang Xue <qiang.xue@gmail.com> * @author Carl G. Mathisen <carlgmathisen@gmail.com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TMemCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching */ @@ -77,7 +76,6 @@ * NB : MemCache server(s) must be restarted to apply settings. Require (PECL memcache >= 2.0.0). * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TMemCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.0 */ @@ -109,11 +107,11 @@ class TMemCache extends TCache private $_persistence = true; /** * @var integer number of buckets to create for this server which in turn control its - * probability of it being selected. The probability is relative to the total weight + * probability of it being selected. The probability is relative to the total weight * of all servers. */ private $_weight = 1; - + private $_timeout = 360; private $_retryInterval = 15; @@ -126,9 +124,9 @@ class TMemCache extends TCache * @var float Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings. */ private $_minSavings=0.0; - + private $_status = true; - + private $_failureCallback = null; /** @@ -176,13 +174,13 @@ class TMemCache extends TCache Prado::trace('Adding server '.$this->_host, 'System.Caching.TMemCache'); if($this->_cache->addServer($this->_host,$this->_port)===false) throw new TConfigurationException('memcache_connection_failed',$this->_host,$this->_port); - } + } if($this->_threshold!==0) - $this->_cache->setCompressThreshold($this->_threshold,$this->_minSavings); + $this->_cache->setCompressThreshold($this->_threshold,$this->_minSavings); $this->_initialized=true; parent::init($config); } - + /** * Loads configuration from an XML element * @param TXmlElement configuration node @@ -209,7 +207,7 @@ class TMemCache extends TCache ); foreach($checks as $property=>$exception) { - $value=$properties->remove($property); + $value=$properties->remove($property); if($value!==null && is_numeric($value)) $server[$property]=$value; else if($value!==null) @@ -268,7 +266,7 @@ class TMemCache extends TCache { return $this->_threshold; } - + /** * @param integer minimum value length before attempting to compress * @throws TInvalidOperationException if the module is already initialized @@ -280,7 +278,7 @@ class TMemCache extends TCache else $this->_threshold=TPropertyValue::ensureInteger($value); } - + /** * @return float minimum amount of savings to actually store the value compressed */ @@ -288,7 +286,7 @@ class TMemCache extends TCache { return $this->_minSavings; } - + /** * @param float minimum amount of savings to actually store the value compressed * @throws TInvalidOperationException if the module is already initialized @@ -300,7 +298,7 @@ class TMemCache extends TCache else $this->_minSavings=TPropertyValue::ensureFloat($value); } - + /** * Retrieves a value from cache with a specified key. * This is the implementation of the method declared in the parent class. diff --git a/framework/Caching/TSqliteCache.php b/framework/Caching/TSqliteCache.php index a00a8472..3c11d45f 100644 --- a/framework/Caching/TSqliteCache.php +++ b/framework/Caching/TSqliteCache.php @@ -4,9 +4,8 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TSqliteCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching */ @@ -67,7 +66,6 @@ * SQLite DB file (in the namespace format). * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TSqliteCache.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Caching * @since 3.0 */ @@ -163,7 +161,7 @@ class TSqliteCache extends TCache { $sql='SELECT value FROM '.self::CACHE_TABLE.' WHERE key=\''.$key.'\' AND (expire=0 OR expire>'.time().') LIMIT 1'; if(($ret=$this->_db->query($sql))!=false && ($row=$ret->fetch(SQLITE_ASSOC))!==false) - return Prado::unserialize($row['value']); + return unserialize($row['value']); else return false; } @@ -180,7 +178,7 @@ class TSqliteCache extends TCache protected function setValue($key,$value,$expire) { $expire=($expire<=0)?0:time()+$expire; - $sql='REPLACE INTO '.self::CACHE_TABLE.' VALUES(\''.$key.'\',\''.sqlite_escape_string(Prado::serialize($value)).'\','.$expire.')'; + $sql='REPLACE INTO '.self::CACHE_TABLE.' VALUES(\''.$key.'\',\''.sqlite_escape_string(serialize($value)).'\','.$expire.')'; return $this->_db->query($sql)!==false; } @@ -196,7 +194,7 @@ class TSqliteCache extends TCache protected function addValue($key,$value,$expire) { $expire=($expire<=0)?0:time()+$expire; - $sql='INSERT INTO '.self::CACHE_TABLE.' VALUES(\''.$key.'\',\''.sqlite_escape_string(Prado::serialize($value)).'\','.$expire.')'; + $sql='INSERT INTO '.self::CACHE_TABLE.' VALUES(\''.$key.'\',\''.sqlite_escape_string(serialize($value)).'\','.$expire.')'; return @$this->_db->query($sql)!==false; } diff --git a/framework/Caching/TXCache.php b/framework/Caching/TXCache.php index e86c8fa9..b29fd38c 100644 --- a/framework/Caching/TXCache.php +++ b/framework/Caching/TXCache.php @@ -4,9 +4,8 @@ * * @author Wei Zhuo <weizhuo[at]gmail[dot]com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TXCache.php 1994 2007-06-11 16:02:28Z knut $ * @package System.Caching */ @@ -37,7 +36,6 @@ * </code> * * @author Wei Zhuo <weizhuo[at]gmail[dot]com> - * @version $Id: TXCache.php 1994 2007-06-11 16:02:28Z knut $ * @package System.Caching * @since 3.1.1 */ |