Browse Source

Merge branch 'v1.0/custom-parameters'

Daniele Alessandri 11 years ago
parent
commit
776f5831a6
2 changed files with 14 additions and 3 deletions
  1. 12 1
      src/Connection/Factory.php
  2. 2 2
      src/Connection/Parameters.php

+ 12 - 1
src/Connection/Factory.php

@@ -76,7 +76,7 @@ class Factory implements FactoryInterface
     public function create($parameters)
     {
         if (!$parameters instanceof ParametersInterface) {
-            $parameters = Parameters::create($parameters);
+            $parameters = $this->createParameters($parameters);
         }
 
         $scheme = $parameters->scheme;
@@ -114,6 +114,17 @@ class Factory implements FactoryInterface
         }
     }
 
+    /**
+     * Creates a connection parameters instance from the supplied argument.
+     *
+     * @param  mixed               $parameters Original connection parameters.
+     * @return ParametersInterface
+     */
+    protected function createParameters($parameters)
+    {
+        return Parameters::create($parameters);
+    }
+
     /**
      * Prepares a connection instance after its initialization.
      *

+ 2 - 2
src/Connection/Parameters.php

@@ -57,10 +57,10 @@ class Parameters implements ParametersInterface
     public static function create($parameters)
     {
         if (is_string($parameters)) {
-            $parameters = self::parse($parameters);
+            $parameters = static::parse($parameters);
         }
 
-        return new self($parameters ?: array());
+        return new static($parameters ?: array());
     }
 
     /**