stilch/sypex-geo
Composer 安装命令:
composer require stilch/sypex-geo
包简介
Sypex Geo – определение геолокации по IP
README 文档
README
Определяет геолокацию по IPv4 адресу. Работает с БД и API от sypexgeo.net
Последнюю вресию БД можно скачать на официальном сайте SypexGeo
Установка
composer require stilch/sypex-geo
Минимальная версия PHP: 7.2
Использование локальной БД
Для работы с локальной БД необходимо создать экземпляр класса SypexGeoDb
$sypexGeoDb = new SypexGeoDb('pathToDbFile');
Если вы собираетесь проверять большое кол-во IP адресов, то для увеличения скорости проверки IP адресов, рекомендуется включить кэширование БД в памяти (ВНИМАНИЕ! Вся БД будет загружена в оперативную память).
//Инициализация с кэшированием БД в памяти $sypexGeoDb = new SypexGeoDb('pathToDbFile', true);
Пример использования:
<?php declare(strict_types=1); use SypexGeo\SypexGeoDb; include __DIR__ . '/vendor/autoload.php'; $sypexGeoDb = new SypexGeoDb('pathToDbFile'); //Определение ID страны $countryId = $sypexGeoDb->getCountryId($ip); //Получение всей доступной информации $ipInfo = $sypexGeoDb->getFullInfo($ip); //Определение города $city = $sypexGeoDb->getCity($ip);
Использование REST API SypexGeo
Без API ключа для SypexGeo доступно только 10 000 запросов в месяц. Подробнее в разделе с информацией по REST API.
//Создание экземпляра класса для работы с API без ключа $sypexGeoDb = new SypexGeoNetwork(); //Создание экземпляра класса для работы с API c ключом $sypexGeoDb = new SypexGeoNetwork('apiKeySypexGeo');
Пример использования:
<?php declare(strict_types=1); use SypexGeo\SypexGeoNetwork; include __DIR__ . '/vendor/autoload.php'; $sypexGeoDb = new SypexGeoNetwork('apiKeySypexGeo'); //Определение ID страны $countryId = $sypexGeoDb->getCountryId($ip); //Получение всей доступной информации $ipInfo = $sypexGeoDb->getFullInfo($ip); //Определение города $city = $sypexGeoDb->getCity($ip);
Список доступных методов
1. getCountryId
Вернет ID страны или 0 если не удалось определить ID страны
$countryId = $sypexGeo->getCountryId($ip);
2. getCountryIso
Вернет ISO страны или пустую строку если не удалось определить ISO страны
$countryIso = $sypexGeo->getCountryIso($ip);
3. getCountry
Вернет массив со всей доступной информацией по стране или null в случае неудачи. Объем доступной информации по стране зависит от используемой БД, подробнее на оф. сайте. Минимально в массиве будет присутствовать ID и ISO страны при использовании открытой БД Sypex Geo Country. Для более полной информации рекомендуется использовать БД Sypex Geo City или приобрести более полную БД на оф. сайте.
$country = $sypexGeo->getCountry($ip);
4. getRegion
Вернет массив со всей доступной информацией о регионе или null в случае неудачи. Информация о регионе доступна только в бесплатной БД Sypex Geo City, платных БД или через API.
$region = $sypexGeo->getRegion($ip);
5. getCity
Вернет массив со всей доступной информацией о городе или null в случае неудачи. Информация о городе доступна только в бесплатной БД Sypex Geo City, платных БД или через API.
$city = $sypexGeo->getCity($ip);
6. getFullInfo
Вернет массив со всей доступной информацией о стране, регионе и городе или null в случае неудачи. Полная информация доступна только в бесплатной БД Sypex Geo City, платных БД или через API.
$fullInfo = $sypexGeo->getFullInfo($ip);
7. getCoordinates
Вернет массив с координатами или null в случае неудачи. В случае использования БД Sypex Geo Country это будут координаты страны. Если в используемой БД есть регион или город, то будут возвращены координаты региона или города. Координаты города имеют приоритет над остальными, т.е. если вы используете БД в которой есть координаты города, региона и страны, то будут возвращены координаты города.
$fullInfo = $sypexGeo->getCoordinates($ip);
stilch/sypex-geo 适用场景与选型建议
stilch/sypex-geo 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 03 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 stilch/sypex-geo 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 stilch/sypex-geo 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-03-08