vitalybaev/sypexgeo

支持 GeoIP 服务(sypexgeo.net)。

v0.1.0 2018-03-26 17:37 UTC

This package is auto-updated.

Last update: 2024-09-08 07:56:48 UTC


README

数据来源于数据库和 http://sypexgeo.net 服务。

安装

要获取 SypexGeo 的最新版本,只需在您的 composer.json 文件中添加依赖即可。

"scriptixru/sypexgeo": "0.2.*@dev"

然后,您需要运行 composer install 命令来下载它并更新自动加载器。

一旦安装了 GeoIP,您需要将服务提供者注册到应用程序中。打开 config/app.php 文件,并找到 providers 键。

'providers' => array(

    'Scriptixru\SypexGeo\SypexGeoServiceProvider',

)

GeoIP 还提供了一个外观(facade),它提供了创建集合的静态语法。您可以在 config/app.php 文件的 aliases 键中注册外观。

'aliases' => array(

    'SypexGeo' => 'Scriptixru\SypexGeo\SypexGeoFacade',

)

发布配置文件

从项目根目录下命令行运行此命令

$ php artisan vendor:publish

配置文件将被发布到 config/sypexgeo.php

使用方法

获取给定 IP 地址的位置数据

$location = \SypexGeo::get('232.223.11.11');

示例数据

如果从数据库接收数据 - config/sypexgeo.php ('type' => 'database')

        [
            'city' => [
                'id' => 524901,
                'lat' => 55.75222,
                'lon' => 37.61556,
                'name_ru' => 'Москва',
                'name_en' => 'Moscow',
                'okato' => '45',
            ],
            'region' => [
                'id' => 524894,
                'lat' => 55.76,
                'lon' => 37.61,
                'name_ru' => 'Москва',
                'name_en' => 'Moskva',
                'iso' => 'RU-MOW',
                'timezone' => 'Europe/Moscow',
                'okato' => '45',
            ],
            'country' => [
                'id' => 185,
                'iso' => 'RU',
                'continent' => 'EU',
                'lat' => 60,
                'lon' => 100,
                'name_ru' => 'Россия',
                'name_en' => 'Russia',
                'timezone' => 'Europe/Moscow',
            ],
        ];

如果从 Web 服务接收数据 - config/sypexgeo.php ('type' => 'web_service', 'view' => 'json')

        [
              "ip" => "77.37.136.11"
              "city" => array:8 [
                     "id" => 524901
                     "lat" => 55.75222
                     "lon" => 37.61556
                     "name_ru" => "Москва"
                     "name_en" => "Moscow"
                     "okato" => "45"
                     "vk" => 1
                     "population" => 10381222
                  ]
              "region" => array:11 [
                    "id" => 524894
                    "lat" => 55.76
                    "lon" => 37.61
                    "name_ru" => "Москва"
                    "name_en" => "Moskva"
                    "iso" => "RU-MOW"
                    "timezone" => "Europe/Moscow"
                    "okato" => "45"
                    "auto" => "77, 97, 99, 177, 197, 199, 777"
                    "vk" => 0
                    "utc" => 3
              ]
              "country" => array:18 [
                    "id" => 185
                    "iso" => "RU"
                    "continent" => "EU"
                    "lat" => 60
                    "lon" => 100
                    "name_ru" => "Россия"
                    "name_en" => "Russia"
                    "timezone" => "Europe/Moscow"
                    "area" => 17100000
                    "population" => 140702000
                    "capital_id" => 524901
                    "capital_ru" => "Москва"
                    "capital_en" => "Moscow"
                    "cur_code" => "RUB"
                    "phone" => "7"
                    "neighbours" => "GE,CN,BY,UA,KZ,LV,PL,EE,LT,FI,MN,NO,AZ,KP"
                    "vk" => 1
                    "utc" => 3
              ]
              "error" => ""
              "request" => -2
              "created" => "2015.04.08"
              "timestamp" => 1428516249
        ];

默认位置

如果没有找到位置,将返回带有 default 参数设置为 true 的回退位置。要设置自己的默认值,请在配置文件 config/geoip.php 中进行更改。

服务

Scriptix

  • 数据库服务:要使用 SypexGeo 数据库版本的服务,从 (vendor/scriptixru/sypexgeo/scr/Scriptixru/SypexGeo) 下载 SxGeoCityMax.dat,并将其提取到 /database/sypexgeo/。就这样。