public function testLibOptionsSet() { $options = new Cache\Storage\Adapter\MemcachedOptions(); $options->setLibOptions(array('COMPRESSION' => false)); $this->assertEquals($options->getLibOption(\Memcached::OPT_COMPRESSION), false); $memcached = new Cache\Storage\Adapter\Memcached($options); $this->assertEquals($memcached->getOptions()->getLibOptions(), array(\Memcached::OPT_COMPRESSION => false)); }
public function testOptionsSetServers() { $options = new Cache\Storage\Adapter\MemcachedOptions(); $servers = array(array('127.0.0.1', 12345), array('localhost', 54321), array('domain.com')); $options->setServers($servers); $servers[2][1] = 11211; $this->assertEquals($options->getServers(), $servers); $memcached = new Cache\Storage\Adapter\Memcached($options); $this->assertEquals($memcached->getOptions()->getServers(), $servers); }
/** * Set options. * * @param string|Traversable|MemcachedOptions $options * @return Memcached * @see getOptions() */ public function setOptions($options) { if (!is_array($options) && !$options instanceof Traversable && !$options instanceof MemcachedOptions) { throw new Exception\InvalidArgumentException(sprintf('%s expects an array, a Traversable object, or a MemcachedOptions object; ' . 'received "%s"', __METHOD__, is_object($options) ? get_class($options) : gettype($options))); } if (!$options instanceof MemcachedOptions) { $options = new MemcachedOptions($options); } $this->options = $options; // Set memcached options, using options map to map to Memcached constants $map = $options->getOptionsMap(); foreach ($options->toArray() as $key => $value) { if (!array_key_exists($key, $map)) { // skip keys for which there are not equivalent options continue; } $this->memcached->setOption($map[$key], $value); } return $this; }
/** * Set options. * * @param array|Traversable|MemcachedOptions $options * @return Memcached * @see getOptions() */ public function setOptions($options) { if (!$options instanceof MemcachedOptions) { $options = new MemcachedOptions($options); } $this->options = $options; // Set memcached options, using options map to map to Memcached constants $map = $options->getOptionsMap(); foreach ($options->toArray() as $key => $value) { if (!array_key_exists($key, $map)) { // skip keys for which there are not equivalent options continue; } $this->memcached->setOption($map[$key], $value); } return $this; }
/** * @deprecated */ public function testLibOptionSet() { $options = new Cache\Storage\Adapter\MemcachedOptions(); $deprecated = false; set_error_handler(function () use(&$deprecated) { $deprecated = true; }, E_USER_DEPRECATED); $options->setLibOption('COMPRESSION', false); restore_error_handler(); $this->assertTrue($deprecated, 'Missing deprecated error'); $this->assertEquals($options->getResourceManager()->getLibOption($options->getResourceId(), \Memcached::OPT_COMPRESSION), false); $memcached = new Cache\Storage\Adapter\Memcached($options); $this->assertEquals($memcached->getOptions()->getLibOptions(), array(\Memcached::OPT_COMPRESSION => false)); }