zoukankan      html  css  js  c++  java
  • [扩展推荐] Laravel 中利用 GeoIP 获取用户地理位置信息

    file

    我最近需要一个用户地域检测来设置用户的默认区域和货币。由 Daniel Stainback 创建的 torann/geoip  很好地满足为Laravel 5 项目提供 GeoIP 服务的要求。

    这个 Laravel GeoIP 包支持一些服务,包括默认的 ip-api.com 服务, 一个可下载的 Maxmind 数据库和 Maxmind API。你也可以通过这个配置轻松地增加一个通用的服务。

    这个包的基本使用是引用 geoip() 帮助函数,可选择性传递 IP 地址参数。下面是一个基于 IP 地址的地址对象的例子:

    TorannGeoIPLocation {
    
        #attributes:array [
            'ip'           => '232.223.11.11',
            'iso_code'     => 'US',
            'country'      => 'United States',
            'city'         => 'New Haven',
            'state'        => 'CT',
            'state_name'   => 'Connecticut',
            'postal_code'  => '06510',
            'lat'          => 41.28,
            'lon'          => -72.88,
            'timezone'     => 'America/New_York',
            'continent'    => 'NA',
            'currency'     => 'USD',
            'default'      => false,
        ]
    }
    
    

    正如你所看到的,地址对象包含一些地域信息,有助于决定用户的货币,时区和国家 ISO 代码。

    如果目标地址没有找到,可使用一份可配置的备用地址代替,这时 default 参数被设置为 true 。你可以覆盖默认设置,默认配置如下所示:

    'default_location' => [
        'ip' => '127.0.0.0',
        'iso_code' => 'US',
        'country' => 'United States',
        'city' => 'New Haven',
        'state' => 'CT',
        'state_name' => 'Connecticut',
        'postal_code' => '06510',
        'lat' => 41.31,
        'lon' => -72.92,
        'timezone' => 'America/New_York',
        'continent' => 'NA',
        'default' => true,
        'currency' => 'USD',
    ],
    
    

    在 Github 官方地址 上查看包的源代码,阅读 文档 有助于你使用这个包。

    更多现代化 PHP 知识,请前往 Laravel / PHP 知识社区

  • 相关阅读:
    4.5计算机网络笔记
    3.29计算机网络笔记
    3.22计算机网络笔记
    3.15计算机网络笔记
    用int类型表示最大公倍数
    markdown入门
    learning by doing
    技术博客(初用markdown)。
    物联网PPT智能家居王思齐和陈由钧第10组
    第六次java作业
  • 原文地址:https://www.cnblogs.com/summerblue/p/9114903.html
Copyright © 2011-2022 走看看