psonrie / geolocation
Laravel service provider to retrieve a users location by their IP Address
Installs: 1 178
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- mockery/mockery: ~0.9
- orchestra/testbench: ~3.5|~6
- squizlabs/php_codesniffer: ^3.5
README
Geo Location
Laravel service provider to retrieve a users location from their IP address using freegeoip.app or geolocation-db service.
Requirements
- Laravel >= 5.5
- PHP 7.0 or greater
- cURL extension enabled
Installation
Via Composer
composer require psonrie/geolocation
Note: If you're using Laravel 5.5 or above, you can skip the registration of the service provider, as it is registered automatically.
Add the service provider in config/app.php
:
Psonrie\GeoLocation\GeoLocationServiceProvider::class,
Publish the config file:
php artisan vendor:publish --provider="Psonrie\GeoLocation\GeoLocationServiceProvider"
Usage
Retrieving a users location
$geoLocation = new GeoLocation(); $response = $geoLocation->get('46.24.247.56'); // Returns instance of Psonrie\GeoLocation\Response Psonrie\GeoLocation\Response { ip: "46.24.247.56" countryCode: "ES" countryName: "Spain" regionCode: "CT" regionName: "Catalonia" cityName: "Barcelona" zipCode: "08004" timeZone: "Europe/Madrid" latitude: "41.3891" longitude: "2.1611" metroCode: 0 }
Contribute
Contributions are welcome! Send a pull request to the main repository or report any issues you find on the issue tracker.
License
The MIT License (MIT). Please see LICENSE for more information.