Сервис гео-данных принимает массив конфигурации как один из аргументов. Этот массив должен содержать в себе следующие параметры:
Ключ | Значение | Описание |
---|---|---|
cache_key_prefix | По умолчанию geo_ |
Префикс для ключа кэша |
cache_time | По умолчанию 259200 (3 дня) | Время жизни кэша |
Кэш используется чтобы не было лишних запросов для получения данных по IP, так как эти данные постоянные.
Гео-данные можно получить следующим образом:
...
$geoDataService = new GeoDataService($this->config, $this->cache);
/** @var \Chocofamily\GeoData\DTO\GeoDTO $geoData */
$geoDTO = $geoDataService->getGeoDTO($ipAddress);
/** Можно достать данные по-отдельности */
$country = $geoDTO->country;
$city = $geoDTO->city;
$region = $geoDTO->region;
$lat = $geoDTO->lat;
$lon = $geoDTO->lon;
/**
* Либо можно достать в виде массива. Пример:
* [
* 'country' => 'Kazakhstan',
* 'city' => 'Almaty',
* 'region' => 'ALA',
* 'lat' => '12.345',
* 'lon' => '12.345',
* ]
*/
$geoData = $geoDTO->toArray();
...