/** * 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; }