lysak / yii2-sypexgeo
为Sypex Geo API(http://sypexgeo.net)提供的Yii2扩展
v1.0.2
2021-01-07 15:21 UTC
Requires
- php: >=7.2
- yiisoft/yii2: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpstan: ^0.12
This package is auto-updated.
Last update: 2024-09-08 00:00:31 UTC
README
此扩展为Yii2框架增加了对Sypex Geo的支持
安装
安装此扩展的首选方式是通过composer。
运行以下命令:
php composer.phar require --prefer-dist lysak/yii2-sypexgeo "*"
或者将以下内容添加到您的composer.json文件的require
部分:
"lysak/yii2-sypexgeo": "^1.0"
它是什么?
Sypex Geo - 通过IP地址进行定位的产品。获取IP地址后,Sypex Geo会输出访客的位置信息(国家、地区、城市、地理坐标等),以俄语和英语显示。Sypex Geo使用本地紧凑的二进制数据库文件,运行速度非常快。更多信息请访问:http://sypexgeo.net/
这是为Yii2框架提供的扩展,使得处理Sypex Geo变得简单。
使用方法
不幸的是,原始版本的Sypex Geo不支持Composer安装,因此我们必须将其包含在这个扩展中。
首先,您需要从http://sypexgeo.net/网站下载所需的数据库,并将其放置在您的服务器上的某个位置。
此扩展中有两个类。
SypexGeo - 这是一个可以用于根据IP地址检索地理信息的组件。组件封装了对SxGeo方法的调用。
您可以用作应用程序组件
// config.php [ 'components' => [ 'sypexGeo' => [ 'class' => 'lysak\components\SypexGeo', 'database' => '@app/data/SxGeoCity.dat', ] ] ] // somewhere in your code $city = Yii::$app->sypexGeo->getCity($ip);
您也可以自行创建实例
use lysak\components\SypexGeo; // ... $sypexGeo = new SypexGeo([ 'database' => '@app/data/SxGeoCity.dat', ]); $city = $sypexGeo->getCity($ip);
GeoBehavior - 可以附加到yii\web\Request
或其子类上的行为,该类为获取当前请求的地理信息添加了方法。
示例
// config.php [ 'components' => [ 'request' => [ 'as sypexGeo' => [ 'class' => 'lysak\behaviors\GeoBehavior', // It is not required property if you have SypexGeo component defined in your application 'config' => [ 'database' => '@app/data/SxGeoCity.dat', ] ] ] ], ] // In your code $city = Yii::$app->request->getCity();