chocofamilyme/phalcon-geo-data

0.1.2 2019-11-05 02:41 UTC

README

Конфигурации

Сервис гео-данных принимает массив конфигурации как один из аргументов. Этот массив должен содержать в себе следующие параметры:

Ключ Значение Описание
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();
...