namespaceSeparator !== $namespaceSeparator) { $this->triggerOptionEvent('namespace_separator', $namespaceSeparator); $this->namespaceSeparator = $namespaceSeparator; } return $this; } /** * Get namespace separator * * @return string */ public function getNamespaceSeparator() { return $this->namespaceSeparator; } /** * A memcached resource to share * * @param null|MemcachedResource $memcachedResource * @return MemcachedOptions * @deprecated Please use the resource manager instead */ public function setMemcachedResource(MemcachedResource $memcachedResource = null) { trigger_error( 'This method is deprecated and will be removed in the feature' . ', please use the resource manager instead', E_USER_DEPRECATED ); if ($memcachedResource !== null) { $this->triggerOptionEvent('memcached_resource', $memcachedResource); $resourceManager = $this->getResourceManager(); $resourceId = $this->getResourceId(); $resourceManager->setResource($resourceId, $memcachedResource); } return $this; } /** * Get memcached resource to share * * @return MemcachedResource * @deprecated Please use the resource manager instead */ public function getMemcachedResource() { trigger_error( 'This method is deprecated and will be removed in the feature' . ', please use the resource manager instead', E_USER_DEPRECATED ); return $this->resourceManager->getResource($this->getResourceId()); } /** * Set the memcached resource manager to use * * @param null|MemcachedResourceManager $resourceManager * @return MemcachedOptions */ public function setResourceManager(MemcachedResourceManager $resourceManager = null) { if ($this->resourceManager !== $resourceManager) { $this->triggerOptionEvent('resource_manager', $resourceManager); $this->resourceManager = $resourceManager; } return $this; } /** * Get the memcached resource manager * * @return MemcachedResourceManager */ public function getResourceManager() { if (!$this->resourceManager) { $this->resourceManager = new MemcachedResourceManager(); } return $this->resourceManager; } /** * Get the memcached resource id * * @return string */ public function getResourceId() { return $this->resourceId; } /** * Set the memcached resource id * * @param string $resourceId * @return MemcachedOptions */ public function setResourceId($resourceId) { $resourceId = (string) $resourceId; if ($this->resourceId !== $resourceId) { $this->triggerOptionEvent('resource_id', $resourceId); $this->resourceId = $resourceId; } return $this; } /** * Get the persistent id * * @return string */ public function getPersistentId() { return $this->getResourceManager()->getPersistentId($this->getResourceId()); } /** * Set the persistent id * * @param string $persistentId * @return MemcachedOptions */ public function setPersistentId($persistentId) { $this->triggerOptionEvent('persistent_id', $persistentId); $this->getResourceManager()->setPersistentId($this->getResourceId(), $persistentId); return $this; } /** * Add a server to the list * * @param string $host * @param int $port * @param int $weight * @return MemcachedOptions * @deprecated Please use the resource manager instead */ public function addServer($host, $port = 11211, $weight = 0) { trigger_error( 'This method is deprecated and will be removed in the feature' . ', please use the resource manager instead', E_USER_DEPRECATED ); $this->getResourceManager()->addServer($this->getResourceId(), array( 'host' => $host, 'port' => $port, 'weight' => $weight )); return $this; } /** * Set a list of memcached servers to add on initialize * * @param string|array $servers list of servers * @return MemcachedOptions * @throws Exception\InvalidArgumentException */ public function setServers($servers) { $this->getResourceManager()->setServers($this->getResourceId(), $servers); return $this; } /** * Get Servers * * @return array */ public function getServers() { return $this->getResourceManager()->getServers($this->getResourceId()); } /** * Set libmemcached options * * @param array $libOptions * @return MemcachedOptions * @link http://php.net/manual/memcached.constants.php */ public function setLibOptions(array $libOptions) { $this->getResourceManager()->setLibOptions($this->getResourceId(), $libOptions); return $this; } /** * Set libmemcached option * * @param string|int $key * @param mixed $value * @return MemcachedOptions * @link http://php.net/manual/memcached.constants.php * @deprecated Please use lib_options or the resource manager instead */ public function setLibOption($key, $value) { trigger_error( 'This method is deprecated and will be removed in the feature' . ', please use "lib_options" or the resource manager instead', E_USER_DEPRECATED ); $this->getResourceManager()->setLibOption($this->getResourceId(), $key, $value); return $this; } /** * Get libmemcached options * * @return array * @link http://php.net/manual/memcached.constants.php */ public function getLibOptions() { return $this->getResourceManager()->getLibOptions($this->getResourceId()); } /** * Get libmemcached option * * @param string|int $key * @return mixed * @link http://php.net/manual/memcached.constants.php * @deprecated Please use lib_options or the resource manager instead */ public function getLibOption($key) { trigger_error( 'This method is deprecated and will be removed in the feature' . ', please use "lib_options" or the resource manager instead', E_USER_DEPRECATED ); return $this->getResourceManager()->getLibOption($this->getResourceId(), $key); } }