X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Flibs%2Fobjectcache%2FMemcachedClient.php;h=eecf7ec7997ec6ae0ca79d90873f4a41bff13722;hb=370bb99a9bb9836286af54856392ecabf09969f7;hp=59131b976a591deb812653dd8afa4ba70a7cbb78;hpb=77e3624caba072521fbc1826af2d47f9b29f4032;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/objectcache/MemcachedClient.php b/includes/libs/objectcache/MemcachedClient.php index 59131b976a..eecf7ec799 100644 --- a/includes/libs/objectcache/MemcachedClient.php +++ b/includes/libs/objectcache/MemcachedClient.php @@ -255,15 +255,13 @@ class MemcachedClient { * Memcache initializer * * @param array $args Associative array of settings - * - * @return mixed */ public function __construct( $args ) { - $this->set_servers( isset( $args['servers'] ) ? $args['servers'] : array() ); - $this->_debug = isset( $args['debug'] ) ? $args['debug'] : false; + $this->set_servers( $args['servers'] ?? array() ); + $this->_debug = $args['debug'] ?? false; $this->stats = array(); - $this->_compress_threshold = isset( $args['compress_threshold'] ) ? $args['compress_threshold'] : 0; - $this->_persistent = isset( $args['persistent'] ) ? $args['persistent'] : false; + $this->_compress_threshold = $args['compress_threshold'] ?? 0; + $this->_persistent = $args['persistent'] ?? false; $this->_compress_enable = true; $this->_have_zlib = function_exists( 'gzcompress' ); @@ -271,15 +269,32 @@ class MemcachedClient { $this->_host_dead = array(); $this->_timeout_seconds = 0; - $this->_timeout_microseconds = isset( $args['timeout'] ) ? $args['timeout'] : 500000; + $this->_timeout_microseconds = $args['timeout'] ?? 500000; - $this->_connect_timeout = isset( $args['connect_timeout'] ) ? $args['connect_timeout'] : 0.1; + $this->_connect_timeout = $args['connect_timeout'] ?? 0.1; $this->_connect_attempts = 2; - $this->_logger = isset( $args['logger'] ) ? $args['logger'] : new NullLogger(); + $this->_logger = $args['logger'] ?? new NullLogger(); } // }}} + + /** + * @param mixed $value + * @return string|integer + */ + public function serialize( $value ) { + return serialize( $value ); + } + + /** + * @param string $value + * @return mixed + */ + public function unserialize( $value ) { + return unserialize( $value ); + } + // {{{ add() /** @@ -505,7 +520,8 @@ class MemcachedClient { if ( $this->_debug ) { foreach ( $val as $k => $v ) { - $this->_debugprint( sprintf( "MemCache: sock %s got %s", serialize( $sock ), $k ) ); + $this->_debugprint( + sprintf( "MemCache: sock %s got %s", $this->serialize( $sock ), $k ) ); } } @@ -1020,7 +1036,7 @@ class MemcachedClient { * yet read "END"), these 2 calls would collide. */ if ( $flags & self::SERIALIZED ) { - $ret[$rkey] = unserialize( $ret[$rkey] ); + $ret[$rkey] = $this->unserialize( $ret[$rkey] ); } elseif ( $flags & self::INTVAL ) { $ret[$rkey] = intval( $ret[$rkey] ); } @@ -1074,7 +1090,7 @@ class MemcachedClient { if ( is_int( $val ) ) { $flags |= self::INTVAL; } elseif ( !is_scalar( $val ) ) { - $val = serialize( $val ); + $val = $this->serialize( $val ); $flags |= self::SERIALIZED; if ( $this->_debug ) { $this->_debugprint( sprintf( "client: serializing data as it is not scalar" ) );