phpNT - Sypex Geo
, (*1)
Описание:
Определяет местоположение пользователя по ip (по айпи вычисляет))) ). Получает данные о местоположении. Есть возможность записывать эти данные в сессии/куки, для дальнейшего использования. Изменяет временную зону приложения, для вывода времени в значении местоположения пользователя. Позволяет изменять гео данные пользователя.
Использует https://sypexgeo.net/
Социальные сети:
!!! Перед установкой загрузите пакет https://github.com/JiSoft/yii2-sypexgeo, (*2)
Установка:, (*3)
php composer.phar require "phpnt/yii2-sypexgeo" "dev-master"
или, (*4)
composer require phpnt/yii2-sypexgeo "dev-master"
или добавить в composer.json файл, (*5)
"phpnt/yii2-sypexgeo": "dev-master"
Использование:
### Подключение:
// в файле настройки приложения (main.php - Advanced или web.php - Basic)
// в загрузку bootstrap
...
'bootstrap' => [
...
'geoData'
],
// в components
'components' => [
...
'geoData' => [
'class' => 'phpnt\geoData\GeoData', // путь к классу
'addToCookie' => true, // сохранить в куки
'addToSession' => true, // сохранить в сессии
'setTimezoneApp' => true, // установить timezone в formatter (для вывода)
'cookieDuration' => 2592000 // время хранения в куки
],
],
### методы:
...
// Получить подробные geo по ip
$data = Yii::$app->geoData->getDataIp('91.144.140.0');
// Получить подробные geo по ip пользователя
$data = Yii::$app->geoData->data;
// Получить город
$city = Yii::$app->geoData->city;
// Получить регион
$region = Yii::$app->geoData->region;
// Получить страну
$country = Yii::$app->geoData->country;
// Установить новые данные
Yii::$app->geoData->setData($timezone = 'Europe/Moscow', $city = 524901, $region = 524894, $country = 185);
// Очистить сессии и куки
Yii::$app->geoData->removeData();
Документация (примеры):
Версия:
### dev-master
Лицензия: