فهرست منبع

Add the ability to create new connections using uri strings, array of parameters or instances of Predis\ConnectionParameters.

Daniele Alessandri 14 سال پیش
والد
کامیت
5077996940
1فایلهای تغییر یافته به همراه10 افزوده شده و 3 حذف شده
  1. 10 3
      lib/Predis/Client.php

+ 10 - 3
lib/Predis/Client.php

@@ -66,7 +66,7 @@ class Client {
         }
 
         $options = $this->_options;
-        $connection = self::newConnection($parameters);
+        $connection = self::newConnectionInternal($parameters);
         $connection->setProtocolOption('iterable_multibulk', $options->iterable_multibulk);
         $connection->setProtocolOption('throw_errors', $options->throw_errors);
         $this->pushInitCommands($connection);
@@ -234,7 +234,7 @@ class Client {
         }
     }
 
-    public static function registerScheme($scheme, $connectionClass) {
+    public static function defineConnection($scheme, $connectionClass) {
         self::ensureDefaultSchemes();
         $connectionReflection = new \ReflectionClass($connectionClass);
         if (!$connectionReflection->isSubclassOf('\Predis\Network\IConnectionSingle')) {
@@ -253,11 +253,18 @@ class Client {
         return self::$_connectionSchemes[$scheme];
     }
 
-    private static function newConnection(ConnectionParameters $parameters) {
+    private static function newConnectionInternal(ConnectionParameters $parameters) {
         $connection = self::getConnectionClass($parameters->scheme);
         return new $connection($parameters);
     }
 
+    public static function newConnection($parameters) {
+        if (!$parameters instanceof ConnectionParameters) {
+            $parameters = new ConnectionParameters($parameters);
+        }
+        return self::newConnectionInternal($parameters);
+    }
+
     public static function newConnectionByScheme($scheme, $parameters = array()) {
         $connection = self::getConnectionClass($scheme);
         if (!$parameters instanceof ConnectionParameters) {