lysak/yii2-sypexgeo

为Sypex Geo API(http://sypexgeo.net)提供的Yii2扩展

安装次数: 0

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 9

类型:yii2-extension

v1.0.2 2021-01-07 15:21 UTC

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();