Sfoglia il codice sorgente

Refactored out in a new method of ConnectionParameters the code to get the value of a parameter or a default value if the same parameter is not set. This also fixes a few PHP notice messages.

Daniele Alessandri 15 anni fa
parent
commit
904278f927
1 ha cambiato i file con 8 aggiunte e 8 eliminazioni
  1. 8 8
      lib/Predis.php

+ 8 - 8
lib/Predis.php

@@ -576,16 +576,16 @@ class ConnectionParameters {
         return self::filterConnectionParams(array_merge($parsed, $details));
     }
 
+    private static function getParamOrDefault(Array $parameters, $param, $default = null) {
+        return array_key_exists($param, $parameters) ? $parameters[$param] : $default;
+    }
+
     private static function filterConnectionParams($parameters) {
         return array(
-            'host' => $parameters['host'] != null 
-                ? $parameters['host'] 
-                : Connection::DEFAULT_HOST, 
-            'port' => $parameters['port'] != null 
-                ? (int) $parameters['port'] 
-                : Connection::DEFAULT_PORT, 
-            'database' => $parameters['database'], 
-            'password' => $parameters['password'], 
+            'host' => self::getParamOrDefault($parameters, 'host', Connection::DEFAULT_HOST), 
+            'port' => (int) self::getParamOrDefault($parameters, 'port', Connection::DEFAULT_PORT), 
+            'database' => self::getParamOrDefault($parameters, 'database'), 
+            'password' => self::getParamOrDefault($parameters, 'password')
         );
     }