mirror of
https://github.com/predis/predis.git
synced 2026-08-31 12:43:31 +00:00
Opt for a smaller and slightly more efficient solution.
This commit is contained in:
@@ -17,12 +17,6 @@ class ConnectionParameters {
|
||||
$this->_userDefined = array_fill_keys(array_keys($this->_parameters), true);
|
||||
}
|
||||
|
||||
private static function paramsExtractor($params, $kv) {
|
||||
@list($k, $v) = explode('=', $kv);
|
||||
$params[$k] = $v;
|
||||
return $params;
|
||||
}
|
||||
|
||||
private static function getSharedOptions() {
|
||||
if (isset(self::$_sharedOptions)) {
|
||||
return self::$_sharedOptions;
|
||||
@@ -93,8 +87,10 @@ class ConnectionParameters {
|
||||
throw new \InvalidArgumentException("Invalid URI: $uri");
|
||||
}
|
||||
if (isset($parsed['query'])) {
|
||||
$query = explode('&', $parsed['query']);
|
||||
$parsed = array_reduce($query, 'self::paramsExtractor', $parsed);
|
||||
foreach (explode('&', $parsed['query']) as $kv) {
|
||||
@list($k, $v) = explode('=', $kv);
|
||||
$parsed[$k] = $v;
|
||||
}
|
||||
unset($parsed['query']);
|
||||
}
|
||||
return $this->filter($parsed);
|
||||
|
||||
Reference in New Issue
Block a user