Вход Регистрация
Файл: concrete5.7.5.6/concrete/vendor/zendframework/zend-cache/src/Storage/Adapter/RedisOptions.php
Строк: 239
<?php
/**
 * Zend Framework (http://framework.zend.com/)
 *
 * @link      http://github.com/zendframework/zf2 for the canonical source repository
 * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd New BSD License
 */

namespace ZendCacheStorageAdapter;

use 
ZendCacheException;

class 
RedisOptions extends AdapterOptions
{
    
/**
     * The namespace separator
     * @var string
     */
    
protected $namespaceSeparator ':';

    
/**
     * The redis resource manager
     *
     * @var null|RedisResourceManager
     */
    
protected $resourceManager;

    
/**
     * The resource id of the resource manager
     *
     * @var string
     */
    
protected $resourceId 'default';

    
/**
     * Set namespace.
     *
     * The option Redis::OPT_PREFIX will be used as the namespace.
     * It can't be longer than 128 characters.
     *
     * @param string $namespace Prefix for each key stored in redis
     * @return ZendCacheStorageAdapterRedisOptions
     *
     * @see AdapterOptions::setNamespace()
     * @see RedisOptions::setPrefixKey()
     */
    
public function setNamespace($namespace)
    {
        
$namespace = (string) $namespace;

        if (
128 strlen($namespace)) {
            throw new 
ExceptionInvalidArgumentException(sprintf(
                
'%s expects a prefix key of no longer than 128 characters',
                
__METHOD__
            
));
        }

        return 
parent::setNamespace($namespace);
    }

    
/**
     * Set namespace separator
     *
     * @param  string $namespaceSeparator
     * @return RedisOptions
     */
    
public function setNamespaceSeparator($namespaceSeparator)
    {
        
$namespaceSeparator = (string) $namespaceSeparator;
        if (
$this->namespaceSeparator !== $namespaceSeparator) {
            
$this->triggerOptionEvent('namespace_separator'$namespaceSeparator);
            
$this->namespaceSeparator $namespaceSeparator;
        }
        return 
$this;
    }

    
/**
     * Get namespace separator
     *
     * @return string
     */
    
public function getNamespaceSeparator()
    {
        return 
$this->namespaceSeparator;
    }

    
/**
     * Set the redis resource manager to use
     *
     * @param null|RedisResourceManager $resourceManager
     * @return RedisOptions
     */
    
public function setResourceManager(RedisResourceManager $resourceManager null)
    {
        if (
$this->resourceManager !== $resourceManager) {
            
$this->triggerOptionEvent('resource_manager'$resourceManager);
            
$this->resourceManager $resourceManager;
        }
        return 
$this;
    }

    
/**
     * Get the redis resource manager
     *
     * @return RedisResourceManager
     */
    
public function getResourceManager()
    {
        if (!
$this->resourceManager) {
            
$this->resourceManager = new RedisResourceManager();
        }
        return 
$this->resourceManager;
    }

    
/**
     * Get the redis resource id
     *
     * @return string
     */
    
public function getResourceId()
    {
        return 
$this->resourceId;
    }

    
/**
     * Set the redis resource id
     *
     * @param string $resourceId
     * @return RedisOptions
     */
    
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 RedisOptions
     */
    
public function setPersistentId($persistentId)
    {
        
$this->triggerOptionEvent('persistent_id'$persistentId);
        
$this->getResourceManager()->setPersistentId($this->getResourceId(), $persistentId);
        return 
$this;
    }

     
/**
    * Set redis options
    *
    * @param array $libOptions
    * @return RedisOptions
    * @link http://github.com/nicolasff/phpredis#setoption
    */
    
public function setLibOptions(array $libOptions)
    {
        
$this->triggerOptionEvent('lib_option'$libOptions);
        
$this->getResourceManager()->setLibOptions($this->getResourceId(), $libOptions);
        return 
$this;
    }

    
/**
     * Get redis options
     *
     * @return array
     * @link http://github.com/nicolasff/phpredis#setoption
     */
    
public function getLibOptions()
    {
        return 
$this->getResourceManager()->getLibOptions($this->getResourceId());
    }

    
/**
     * Set server
     *
     * Server can be described as follows:
     * - URI:   /path/to/sock.sock
     * - Assoc: array('host' => <host>[, 'port' => <port>[, 'timeout' => <timeout>]])
     * - List:  array(<host>[, <port>, [, <timeout>]])
     *
     * @param string|array $server
     *
     * @return RedisOptions
     */
    
public function setServer($server)
    {
        
$this->getResourceManager()->setServer($this->getResourceId(), $server);
        return 
$this;
    }

    
/**
     * Get server
     *
     * @return array array('host' => <host>[, 'port' => <port>[, 'timeout' => <timeout>]])
     */
    
public function getServer()
    {
        return 
$this->getResourceManager()->getServer($this->getResourceId());
    }

    
/**
     * Set resource database number
     *
     * @param int $database Database number
     *
     * @return RedisOptions
     */
    
public function setDatabase($database)
    {
        
$this->getResourceManager()->setDatabase($this->getResourceId(), $database);
        return 
$this;
    }

    
/**
     * Get resource database number
     *
     * @return int Database number
     */
    
public function getDatabase()
    {
        return 
$this->getResourceManager()->getDatabase($this->getResourceId());
    }

    
/**
     * Set resource password
     *
     * @param string $password Password
     *
     * @return RedisOptions
     */
    
public function setPassword($password)
    {
        
$this->getResourceManager()->setPassword($this->getResourceId(), $password);
        return 
$this;
    }

    
/**
     * Get resource password
     *
     * @return string
     */
    
public function getPassword()
    {
        return 
$this->getResourceManager()->getPassword($this->getResourceId());
    }
}
Онлайн: 0
Реклама