psicologiaymente / cloudflare-geoip
1.2.1
2023-11-15 06:50 UTC
Requires
- illuminate/http: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.4
README
根据 Cloudflare 头部获取访客的地理位置。
安装
composer require psicologiaymente/cloudflare-geoip
配置
运行以下命令以发布配置。请确保修改配置文件,特别是当 Cloudflare 头部不存在时要使用的默认位置。
php artisan vendor:publish --tag=cloudflare-geoip-config
用法
<?php namespace App\Http\Controllers; use PsicologiaYMente\CloudflareGeoIp\Facades\GeoIp; use App\Models\Users; class RegisterController extends Controller { public function __invoke(): User { $location = GeoIp::getLocation(); return User::create([ 'register_ip' => $location->ip ]); } }
位置对象
\PsicologiaYMente\CloudflareGeoIp\Location { +ip: "192.182.88.29" +city: "New Haven" +country: "US" +continent: "NA" +latitude: 41.31 +longitude: -72.92 +postalCode: "06510" +region: "Connecticut" +regionCode: "CT" +timezone: "America/New_York" // pseudo fields +iso_code: 'US' // same as country +isoCode: 'US' // same as country +state: 'CT' // same as regionCode +state_name: 'Connecticut' // same as region +stateName: 'Connecticut' // same as region +postal_code: '06510' // same as postal_code +lat: '41.31' // same as latitude +lon: -72.92 // same as longitude +toArray(): array }