perfectpanel / yii2-geoip
Yii 2 GeoIP 扩展。返回当前或指定 IP 的国家、城市、纬度、经度(使用 MaxMind 的 GeoIP2 数据库)
dev-master
2023-06-15 09:31 UTC
Requires
- php: >=5.4.0
- maxmind-db/reader: ~1.0
- perfectpanel/maxmind-geolite2-database: *
- yiisoft/yii2: >=2.0.0
Requires (Dev)
- phpunit/phpunit: ~4.4
This package is not auto-updated.
Last update: 2024-09-26 10:21:07 UTC
README
通过 IP 地址提供有关用户地理位置的信息。
当前可用
- 国家
- 城市
- 纬度,经度
- 国家 ISO 代码
安装
运行
$ php composer.phar require perfectpanel/yii2-geoip "~1.0"
或者
将其添加到你的 composer.json
{ "require": { "perfectpanel/yii2-geoip": "~1.0" } }
并运行
$ php composer update
用法
像组件一样
<?php $config = [ ... 'components' => [ 'geoip' => ['class' => 'perfectpanel\GeoIP\GeoIP'], ] ... ];
在代码中的某个地方
$ip = Yii::$app->geoip->ip(); // current user ip $ip = Yii::$app->geoip->ip("208.113.83.165"); $ip->city; // "San Francisco" $ip->country; // "United States" $ip->location->lng; // 37.7898 $ip->location->lat; // -122.3942 $ip->isoCode; // "US"
像对象一样直接在应用中的某个地方
$geoip = new \perfectpanel\GeoIP\GeoIP(); $ip = $geoip->ip("208.113.83.165"); $ip->city; // "San Francisco" $ip->country; // "United States" $ip->location->lng; // 37.7898 $ip->location->lat; // -122.3942 $ip->isoCode; // "US"
提供自定义数据库(例如,如果你拥有许可证)
<?php $config = [ ... 'components' => [ 'geoip' => [ 'class' => 'perfectpanel\GeoIP\GeoIP', 'dbPath' => Yii::getAlias('@example/maxmind/database/city.mmdb') ], ] ... ];
本产品包含由 MaxMind 创建的 GeoLite2 数据,可在 http://www.maxmind.com 获取