/** * * @param integer $gewestId Zie de KVDgis_Crab2Gateway::GEWEST constanten. * @param integer $sorteerVeld Zie de KVDgis_Crab2Gateway::GEM_SORT constanten. * @return array Associatieve array met de volgende sleutels:; * <ul> * <li>gemeenteNaam: Naam van de gemeente.</li> * <li>gemeenteId: Het Crab Id van de gemeente. Dit is niet gelijk aan de NIS-code.</li> * <li>taalCode: De eerste taal in de gemeente.</li> * <li>taalCodeGemeenteNaam: De taalvode van de gemeetenaam.</li> * </ul> * @throws IllegalArgumentException Indien er verkeerder parameters worden opgegeven. * @throws RuntimeException Indien de lijst niet geladen kan worden */ public function listGemeentenByGewestId($gewestId = self::GEWEST_VLAANDEREN, $sorteerVeld = self::GEM_SORT_ID) { $params = new stdClass(); if ($gewestId < 1 || $gewestId > 3) { throw new IllegalArgumentException("De parameter gewestId van de functie listGemeentenByGewestId moet tussen 1 en 3 liggen."); } if ($sorteerVeld < 1 || $sorteerVeld > 6) { throw new IllegalArgumentException("De parameter sorteerVeld van de functie listGemeentenByGewestId moet tussen 1 en 6 liggen."); } $functionParameters = func_get_args(); $result = $this->_cache->cacheGet($this->getCacheName(__FUNCTION__), $functionParameters); if ($result != false) { return unserialize($result); } $params->GewestId = $gewestId; $params->SorteerVeld = $sorteerVeld; $paramsWrapper = new SoapParam($params, "ListGemeentenByGewestId"); try { $result = $this->_client->ListGemeentenByGewestId($paramsWrapper); $gemeenteItems = $result->ListGemeentenByGewestIdResult->GemeenteItem; } catch (SoapFault $e) { throw new RuntimeException('Kon de lijst met gemeentes niet laden.'); } $gemeenten = array(); foreach ($gemeenteItems as $gemeente) { $gemeenteArray = array(); $gemeenteArray['gemeenteNaam'] = (string) $gemeente->GemeenteNaam; $gemeenteArray['gemeenteId'] = (int) $gemeente->GemeenteId; $gemeenteArray['taalCode'] = (string) $gemeente->TaalCode; $gemeenteArray['taalCodeGemeenteNaam'] = (string) $gemeente->TaalCodeGemeenteNaam; $gemeenten[] = $gemeenteArray; } $this->_cache->cachePut($this->getCacheName(__FUNCTION__), $functionParameters, serialize($gemeenten)); return $gemeenten; }