protected function parseQuery(string $query = null) : array
{
$query = ltrim($query, '?');
$fields = [];
foreach (explode('&', $query) as $data) {
list($name, $value) = $this->parseQueryPair($data);
if ('' !== $name) {
if (isset($fields[$name])) {
$fields[$name][] = $value;
} else {
$fields[$name] = [$value];
}
}
}
ksort($fields);
return $fields;
}