diff --git a/lib/Predis/ConnectionParameters.php b/lib/Predis/ConnectionParameters.php index 73be0d32..cf3c3374 100644 --- a/lib/Predis/ConnectionParameters.php +++ b/lib/Predis/ConnectionParameters.php @@ -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; diff --git a/lib/Predis/ConnectionSchemes.php b/lib/Predis/ConnectionSchemes.php index a09fefbd..748c326f 100644 --- a/lib/Predis/ConnectionSchemes.php +++ b/lib/Predis/ConnectionSchemes.php @@ -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)) { diff --git a/lib/Predis/IConnectionParameters.php b/lib/Predis/IConnectionParameters.php new file mode 100644 index 00000000..891a79a8 --- /dev/null +++ b/lib/Predis/IConnectionParameters.php @@ -0,0 +1,9 @@ +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); } diff --git a/lib/Predis/Network/ConnectionBase.php b/lib/Predis/Network/ConnectionBase.php index 8a0e4c91..1bd7ce41 100644 --- a/lib/Predis/Network/ConnectionBase.php +++ b/lib/Predis/Network/ConnectionBase.php @@ -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 } diff --git a/lib/Predis/Network/PhpiredisConnection.php b/lib/Predis/Network/PhpiredisConnection.php index 475aff05..f21527bd 100644 --- a/lib/Predis/Network/PhpiredisConnection.php +++ b/lib/Predis/Network/PhpiredisConnection.php @@ -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 ' . diff --git a/lib/Predis/Network/StreamConnection.php b/lib/Predis/Network/StreamConnection.php index 4640fd11..b48318ad 100644 --- a/lib/Predis/Network/StreamConnection.php +++ b/lib/Predis/Network/StreamConnection.php @@ -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) {