Данный модуль предназначен для определения географических данных по IP адресу. Используются текстовые базы сервиса гео-локации ipgeobase.ru, которые преобразуются в бинарный формат для оптимизации поиска.
Вы можете использовать Composer для автоматизированного процесса установки:
$ php composer.phar require cimus/geo-budle
или вручную добавте ссылку в ваш файл composer.json
и запустить $ PHP composer.phar update
:
{
"require" : {
"cimus/geo-budle": "^1.0"
},
}
Перед первым использованием необходимо инициализировать БД, для этого нужно запустить команду
php app/console cimus:geo:update
Note. Данную команду можно повесить на крон и запускать с периодичностью 1 раз в неделю. Данные обнавляются каждый день.
Определение географических данных
$info = $this->get('cimus.geo')->search('176.121.128.1');
print_r($info);
Array
(
[country] => RU
[city] => Чебоксары
[region] => Республика Чувашия
[district] => Приволжский федеральный округ
[latitude] => 56.137451
[longitude] => 47.244030
[ip_start] => 176.121.128.0
[ip_stop] => 176.121.191.255
)
Note. Как видно из примера, доступен сервис cimus.geo который выполняет поиск данных о IP адресе
Получение списка всех населёных пунктов, которые содержаться в БД
$list = $this->get('cimus.geo')->listCity();
print_r($list);