/** * @param BankCode $bankCode * @param Location $location * @param Name $name * @param Zip $zip * @param Max $max * @return SearchResponse * @throws SearchException */ public static function request(BankCode $bankCode, Location $location, Name $name, Zip $zip, Max $max) { $client = new Client(); try { $query = ['key' => Ckonto::getKey(), 'search' => 1, 'zip' => $zip->getValue(), 'bankleitzahl' => $bankCode->getValue(), 'name' => $name->getValue(), 'location' => $location->getCity()]; if ($max->getValue() > 0) { $query['max'] = $max->getValue(); } $response = $client->get(Ckonto::$url, ['query' => $query]); return new SearchResponse($response); } catch (RequestException $e) { throw new SearchException('SearchRequest error: ' . $e->getMessage()); } }