adrianorosa/laravel-geolocation

Laravel 地理位置包,用于获取给定IP地址的详细信息

v1.2.0 2023-03-08 00:16 UTC

This package is auto-updated.

Last update: 2024-09-08 04:03:05 UTC


README

Laravel 包,用于获取给定IP地址的区域、城市和国家详细信息。

此包是 IpInfo 提供商的包装器,但我们计划实现 MaxMind GeoIP2 数据库的驱动程序。

安装

composer require adrianorosa/laravel-geolocation

此包支持Laravel的最新版本,目前测试了5.8+,但应该也能在旧版本上正常工作。

从Laravel 5.5开始,无需在 AppServiceProvider 数组中添加 ServiceProvider。Laravel 使用包发现来加载此提供程序。

使用方法

无需额外设置即可开始使用,一旦通过composer安装,您就可以调用外观。

<?php
use Adrianorosa\GeoLocation\GeoLocation;

$details = GeoLocation::lookup('8.8.8.8');

echo $details->getIp();
// 8.8.8.8

echo $details->getCity();
// Mountain View

echo $details->getRegion();
// California

echo $details->getCountry();
// United States

echo $details->getLatitude();
// 37.386

echo $details->getLongitude();
// -122.0838

var_dump($details->toArray());
// Array
// (
//  [city] => Mountain View
//  [region] => California
//  [country] => United States
//  [countryCode] => US
//  [latitude] => 37.386
//  [longitude] => -122.0838
//)

控制台命令

要显示IP地址或您当前网络IP地址的详细信息,可以使用 artisan 命令。

php artisan geolocation:lookup --ip 8.8.8.8

+---------+---------------+------------+----------------+-------------+----------+-----------+
| ip      | city          | region     | country        | countryCode | latitude | longitude |
+---------+---------------+------------+----------------+-------------+----------+-----------+
| 8.8.8.8 | Mountain View | California | Estados Unidos | US          | 37.386   | -122.0838 |
+---------+---------------+------------+----------------+-------------+----------+-----------+

覆盖配置和翻译

此包为IpInfo提供了一些配置,并为国家名称提供了翻译。

您可以使用默认值,这已经足够好了,或者使用以下命令发布:

发布所有配置和翻译

php artisan vendor:publish

发布配置

php artisan vendor:publish --tag=geolocation-config

发布翻译

php artisan vendor:publish --tag=geolocation-translations

作者

Adriano Rosa (https://adrianorosa.com)

许可证

版权所有 © 2021, Adriano Rosa info@adrianorosa.com 保留所有权利。

有关完整的版权和许可信息,请参阅此项目源代码根目录中的 LICENSE 文件。