Add the new Predis\IConnectionParameters interface.

This commit is contained in:
Daniele Alessandri
2011-03-31 15:12:52 +02:00
parent 17f51420ce
commit 3f720ad867
7 changed files with 26 additions and 16 deletions
+2 -1
View File
@@ -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;
+2 -2
View File
@@ -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)) {
+9
View File
@@ -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 -4
View File
@@ -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
}
+2 -2
View File
@@ -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 ' .
+4 -4
View File
@@ -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) {