Don't spew warnings on usage of MEMCACHE_COMPRESSED constant when memcache PHP extension is not present.

Switched to a locally-defined Cache::COMPRESSED, translating that to MEMCACHE_COMPRESSED in the plugin.
This commit is contained in:
Brion Vibber 2010-02-05 09:47:56 -08:00
parent 8d320d7cc2
commit 875e1a70ce
3 changed files with 20 additions and 4 deletions

View File

@ -363,7 +363,7 @@ class Memcached_DataObject extends DB_DataObject
$cached[] = clone($inst);
}
$inst->free();
$c->set($ckey, $cached, MEMCACHE_COMPRESSED, $expiry);
$c->set($ckey, $cached, Cache::COMPRESSED, $expiry);
return new ArrayWrapper($cached);
}

View File

@ -47,6 +47,8 @@ class Cache
var $_items = array();
static $_inst = null;
const COMPRESSED = 1;
/**
* Singleton constructor
*
@ -133,7 +135,7 @@ class Cache
*
* @param string $key The key to use for lookups
* @param string $value The value to store
* @param integer $flag Flags to use, mostly ignored
* @param integer $flag Flags to use, may include Cache::COMPRESSED
* @param integer $expiry Expiry value, mostly ignored
*
* @return boolean success flag

View File

@ -102,7 +102,7 @@ class MemcachePlugin extends Plugin
*
* @param string &$key in; Key to use for lookups
* @param mixed &$value in; Value to associate
* @param integer &$flag in; Flag (passed through to Memcache)
* @param integer &$flag in; Flag empty or Cache::COMPRESSED
* @param integer &$expiry in; Expiry (passed through to Memcache)
* @param boolean &$success out; Whether the set was successful
*
@ -115,7 +115,7 @@ class MemcachePlugin extends Plugin
if ($expiry === null) {
$expiry = $this->defaultExpiry;
}
$success = $this->_conn->set($key, $value, $flag, $expiry);
$success = $this->_conn->set($key, $value, $this->flag(intval($flag)), $expiry);
Event::handle('EndCacheSet', array($key, $value, $flag,
$expiry));
return false;
@ -197,6 +197,20 @@ class MemcachePlugin extends Plugin
}
}
/**
* Translate general flags to Memcached-specific flags
* @param int $flag
* @return int
*/
protected function flag($flag)
{
$out = 0;
if ($flag & Cache::COMPRESSED == Cache::COMPRESSED) {
$out |= MEMCACHE_COMPRESSED;
}
return $out;
}
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'Memcache',