brightnucleus / geolite2-country
Composer-packaged version of the free MaxMind GeoLite2 Country database.
Installs: 17 484
Dependents: 0
Suggesters: 0
Security: 0
Stars: 22
Watchers: 2
Forks: 6
Open Issues: 3
Type:composer-plugin
Requires
- php: >=5.4
- composer-plugin-api: ^1
README
This is a Composer plugin that provides an automated binary version of the free MaxMind GeoLite2 Country database.
The main advantage is that the downloaded database will be checked for updates on each composer install
and composer update
.
Table Of Contents
Attribution
This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com.
Installation
The only thing you need to do to make this work is adding this package as a dependency to your project:
composer require brightnucleus/geolite2-country
Basic Usage
On each composer install
or composer update
, a check will be made to see whether there's a new version of the database available. If there is, that new version is downloaded.
To retrieve the path to the binary database file from within your project, you can use the Database::getLocation()
method:
<?php use BrightNucleus\GeoLite2Country\Database; $dbLocation = Database::getLocation();
You can pass this location on to the GeoIp2\Database\Reader
class that is provided with the geoip2/geoip2
Composer package.
Example
The following example assumes that you have added the geoip2/geoip2
Composer package as a dependency to your project, so that it is available to the autoloader.
<?php use GeoIp2\Database\Reader; use BrightNucleus\GeoLite2Country\Database; function getCountry($ip) { $dbLocation = Database::getLocation(); $reader = new Reader($dbLocation); return $reader->country($ip); }
Contributing
All feedback / bug reports / pull requests are welcome.
License
This code is released under the MIT license.
For the full copyright and license information, please view the LICENSE
file distributed with this source code.