gpslab/geoip2

A Symfony Bundle for the Maxmind GeoIP2 API

Installs: 246 429

Dependents: 3

Suggesters: 0

Security: 0

Stars: 31

Watchers: 3

Forks: 4

Open Issues: 2

Type:symfony-bundle

v1.1.8 2019-08-14 11:38 UTC

This package is auto-updated.

Last update: 2019-12-14 12:25:27 UTC


README

Latest Stable Version PHP from Travis config Build Status Coverage Status Scrutinizer Code Quality StyleCI License

A Symfony Bundle for the Maxmind GeoIP2 API

Bundle for use maxmind/GeoIP2 in Symfony.

Installation

Pretty simple with Composer, run:

composer req gpslab/geoip2

Configuration

Default configuration:

gpslab_geoip:
    # Path to download GeoIP database.
    # It's a default value. You can change it.
    cache: '%kernel.cache_dir%/GeoLite2-City.mmdb'

    # URL for download new GeoIP database.
    # It's a default value. You can change it.
    url: 'https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz'

    # Get model data in this locale
    # It's a default value. You can change it.
    locales: [ '%locale%' ]

Usage

You can get GeoIP2 reader service:

// get a GeoIP2 City model
$record = $this->get('geoip2.reader')->city('128.101.101.101');

print($record->country->isoCode . "\n"); // 'US'
print($record->country->name . "\n"); // 'United States'
print($record->country->names['zh-CN'] . "\n"); // '美国'

print($record->mostSpecificSubdivision->name . "\n"); // 'Minnesota'
print($record->mostSpecificSubdivision->isoCode . "\n"); // 'MN'

print($record->city->name . "\n"); // 'Minneapolis'

print($record->postal->code . "\n"); // '55455'

print($record->location->latitude . "\n"); // 44.9733
print($record->location->longitude . "\n"); // -93.2323

For more example see the GeoIP2 library.

Update GeoIP database

Execute command for update database:

php bin/console geoip2:update

License

This bundle is under the MIT license. See the complete license in the file: LICENSE