mirror of
https://github.com/predis/predis.git
synced 2026-08-31 12:43:31 +00:00
Add the new Predis\IConnectionParameters interface.
This commit is contained in:
@@ -2,11 +2,12 @@
|
||||
|
||||
namespace Predis;
|
||||
|
||||
use Predis\IConnectionParameters;
|
||||
use Predis\Options\IOption;
|
||||
use Predis\Options\Option;
|
||||
use Predis\Options\CustomOption;
|
||||
|
||||
class ConnectionParameters {
|
||||
class ConnectionParameters implements IConnectionParameters {
|
||||
private $_parameters;
|
||||
private $_userDefined;
|
||||
private static $_sharedOptions;
|
||||
|
||||
@@ -41,7 +41,7 @@ class ConnectionSchemes implements IConnectionSchemes {
|
||||
}
|
||||
|
||||
public function newConnection($parameters) {
|
||||
if (!$parameters instanceof ConnectionParameters) {
|
||||
if (!$parameters instanceof IConnectionParameters) {
|
||||
$parameters = new ConnectionParameters($parameters);
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ class ConnectionSchemes implements IConnectionSchemes {
|
||||
}
|
||||
|
||||
public function newConnectionByScheme($scheme, $parameters = array()) {
|
||||
if ($parameters instanceof ConnectionParameters) {
|
||||
if ($parameters instanceof IConnectionParameters) {
|
||||
$parameters = $parameters->toArray();
|
||||
}
|
||||
if (is_array($parameters)) {
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace Predis;
|
||||
|
||||
interface IConnectionParameters {
|
||||
public function __isset($parameter);
|
||||
public function __get($parameter);
|
||||
public function toArray();
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace Predis\Network;
|
||||
|
||||
use Predis\ConnectionParameters;
|
||||
use Predis\IConnectionParameters;
|
||||
use Predis\CommunicationException;
|
||||
use Predis\Commands\ICommand;
|
||||
use Predis\Protocols\IProtocolProcessor;
|
||||
@@ -11,12 +11,12 @@ use Predis\Protocols\TextProtocol;
|
||||
class ComposableStreamConnection extends StreamConnection implements IConnectionComposable {
|
||||
private $_protocol;
|
||||
|
||||
public function __construct(ConnectionParameters $parameters, IProtocolProcessor $protocol = null) {
|
||||
public function __construct(IConnectionParameters $parameters, IProtocolProcessor $protocol = null) {
|
||||
$this->setProtocol($protocol ?: new TextProtocol());
|
||||
parent::__construct($parameters);
|
||||
}
|
||||
|
||||
protected function initializeProtocol(ConnectionParameters $parameters) {
|
||||
protected function initializeProtocol(IConnectionParameters $parameters) {
|
||||
$this->_protocol->setOption('throw_errors', $parameters->throw_errors);
|
||||
$this->_protocol->setOption('iterable_multibulk', $parameters->iterable_multibulk);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace Predis\Network;
|
||||
|
||||
use \InvalidArgumentException;
|
||||
use Predis\Utils;
|
||||
use Predis\ConnectionParameters;
|
||||
use Predis\IConnectionParameters;
|
||||
use Predis\ClientException;
|
||||
use Predis\CommunicationException;
|
||||
use Predis\Commands\ICommand;
|
||||
@@ -13,7 +13,7 @@ abstract class ConnectionBase implements IConnectionSingle {
|
||||
private $_cachedId, $_resource;
|
||||
protected $_params, $_initCmds;
|
||||
|
||||
public function __construct(ConnectionParameters $parameters) {
|
||||
public function __construct(IConnectionParameters $parameters) {
|
||||
$this->_initCmds = array();
|
||||
$this->_params = $this->checkParameters($parameters);
|
||||
$this->initializeProtocol($parameters);
|
||||
@@ -23,7 +23,7 @@ abstract class ConnectionBase implements IConnectionSingle {
|
||||
$this->disconnect();
|
||||
}
|
||||
|
||||
protected function checkParameters(ConnectionParameters $parameters) {
|
||||
protected function checkParameters(IConnectionParameters $parameters) {
|
||||
switch ($parameters->scheme) {
|
||||
case 'unix':
|
||||
$pathToSocket = $parameters->path;
|
||||
@@ -41,7 +41,7 @@ abstract class ConnectionBase implements IConnectionSingle {
|
||||
return $parameters;
|
||||
}
|
||||
|
||||
protected function initializeProtocol(ConnectionParameters $parameters) {
|
||||
protected function initializeProtocol(IConnectionParameters $parameters) {
|
||||
// NOOP
|
||||
}
|
||||
|
||||
|
||||
@@ -22,13 +22,13 @@ use Predis\ResponseError;
|
||||
use Predis\ResponseQueued;
|
||||
use Predis\ClientException;
|
||||
use Predis\ServerException;
|
||||
use Predis\ConnectionParameters;
|
||||
use Predis\IConnectionParameters;
|
||||
use Predis\Commands\ICommand;
|
||||
|
||||
class PhpiredisConnection extends ConnectionBase {
|
||||
private $_reader;
|
||||
|
||||
public function __construct(ConnectionParameters $parameters) {
|
||||
public function __construct(IConnectionParameters $parameters) {
|
||||
if (!function_exists('socket_create')) {
|
||||
throw new ClientException(
|
||||
'The socket extension must be loaded in order to be able to ' .
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace Predis\Network;
|
||||
use Predis\ResponseError;
|
||||
use Predis\ResponseQueued;
|
||||
use Predis\ServerException;
|
||||
use Predis\ConnectionParameters;
|
||||
use Predis\IConnectionParameters;
|
||||
use Predis\CommunicationException;
|
||||
use Predis\Commands\ICommand;
|
||||
use Predis\Protocols\TextCommandSerializer;
|
||||
@@ -20,7 +20,7 @@ class StreamConnection extends ConnectionBase {
|
||||
}
|
||||
}
|
||||
|
||||
protected function initializeProtocol(ConnectionParameters $parameters) {
|
||||
protected function initializeProtocol(IConnectionParameters $parameters) {
|
||||
$this->_throwErrors = $parameters->throw_errors;
|
||||
$this->_mbiterable = $parameters->iterable_multibulk;
|
||||
}
|
||||
@@ -31,7 +31,7 @@ class StreamConnection extends ConnectionBase {
|
||||
return call_user_func($initializer, $parameters);
|
||||
}
|
||||
|
||||
private function tcpStreamInitializer(ConnectionParameters $parameters) {
|
||||
private function tcpStreamInitializer(IConnectionParameters $parameters) {
|
||||
$uri = sprintf('tcp://%s:%d/', $parameters->host, $parameters->port);
|
||||
$flags = STREAM_CLIENT_CONNECT;
|
||||
if ($parameters->connection_async) {
|
||||
@@ -56,7 +56,7 @@ class StreamConnection extends ConnectionBase {
|
||||
return $resource;
|
||||
}
|
||||
|
||||
private function unixStreamInitializer(ConnectionParameters $parameters) {
|
||||
private function unixStreamInitializer(IConnectionParameters $parameters) {
|
||||
$uri = sprintf('unix:///%s', $parameters->path);
|
||||
$flags = STREAM_CLIENT_CONNECT;
|
||||
if ($parameters->connection_persistent) {
|
||||
|
||||
Reference in New Issue
Block a user