Corrected example. Cleaned up doc a bit.
This commit is contained in:
parent
ee6d3b4b27
commit
1d07dccc73
82
README.md
82
README.md
|
@ -3,33 +3,79 @@
|
|||
## Description ##
|
||||
|
||||
Currently, this distribution provides an API for the GeoIP2 web services
|
||||
(as documented at http://dev.maxmind.com/geoip/precision).
|
||||
(as documented at http://dev.maxmind.com/geoip/geoip2/web-services).
|
||||
|
||||
In the future, this distribution will also provide the same API for the
|
||||
GeoIP2 downloadable databases. These databases have not yet been
|
||||
released as a downloadable product.
|
||||
|
||||
See GeoIP2::Webservice::Client for details on the web service client
|
||||
See GeoIP2\Webservice\Client for details on the web service client
|
||||
API.
|
||||
|
||||
## Installation ##
|
||||
|
||||
**Note: package not yet uploaded**
|
||||
|
||||
### Define Your Dependencies ###
|
||||
|
||||
We recommend installing this package with [Composer](http://getcomposer.org/).
|
||||
To do this, add ```NOT UPLOADED YET``` to your ```composer.json``` file.
|
||||
|
||||
```json
|
||||
{
|
||||
"require": {
|
||||
"NOT YET UPLOADED": "1.0.*"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Install Composer ###
|
||||
|
||||
Run in your project root:
|
||||
|
||||
```
|
||||
curl -s http://getcomposer.org/installer | php
|
||||
```
|
||||
|
||||
### Install Depdendencies ###
|
||||
|
||||
Run in your project root:
|
||||
|
||||
```
|
||||
php composer.phar install
|
||||
```
|
||||
|
||||
### Require Autoloader ###
|
||||
|
||||
You can autoload all dependencies by adding this to your code:
|
||||
```
|
||||
require 'vendor/autoload.php';
|
||||
```
|
||||
|
||||
## Usage ##
|
||||
|
||||
The basic API for this class is the same for all of the web service end
|
||||
points. First you create a web service client object with your MaxMind
|
||||
``userId`` and ``licenseKey``, then you call the method corresponding to
|
||||
a specific end point, passing it the IP address you want to look up.
|
||||
To use this API, you must create a new ``\GeoIP2\Webservice\Client``
|
||||
object with your ``userId`` and ``licenseKey``, then you call the method
|
||||
corresponding to a specific end point, passing it the IP address you want to
|
||||
look up.
|
||||
|
||||
If the request succeeds, the method call will return a model class for the end
|
||||
point you called. This model in turn contains multiple record classes, each of
|
||||
which represents part of the data returned by the web service.
|
||||
|
||||
See the API documentation for more details.
|
||||
|
||||
## Example ##
|
||||
|
||||
>>> use \GeoIP2\Webservice\Client;
|
||||
>>> $client = new Client(42, 'abcdef123456');
|
||||
>>> $omni = $client.omni('24.24.24.24');
|
||||
>>> $country = $omni.country;
|
||||
>>> echo $country.isoCode;
|
||||
```php
|
||||
<?php
|
||||
require_once 'vendor/autoload.php';
|
||||
use \GeoIP2\Webservice\Client;
|
||||
|
||||
$client = new Client(42, 'abcdef123456');
|
||||
$omni = $client->omni('24.24.24.24');
|
||||
echo $omni->country->isoCode;
|
||||
```
|
||||
|
||||
## Exceptions ##
|
||||
|
||||
|
@ -61,18 +107,18 @@ piece of data for any given IP address.
|
|||
Because of these factors, it is possible for any end point to return a record
|
||||
where some or all of the attributes are unpopulated.
|
||||
|
||||
See http://dev.maxmind.com/geoip/precision for details on what data each end
|
||||
point may return.
|
||||
See http://dev.maxmind.com/geoip/geoip2/web-services for details on what data
|
||||
each end point may return.
|
||||
|
||||
The only piece of data which is always returned is the :py:attr:`ip_address`
|
||||
attribute in the :py:class:`geoip2.records.Traits` record.
|
||||
The only piece of data which is always returned is the ```ipAddress```
|
||||
attribute in the ``GeoIP2\Record\Traits`` record.
|
||||
|
||||
Every record class attribute has a corresponding predicate method so you can
|
||||
check to see if the attribute is set.
|
||||
|
||||
## Integration with GeoNames ##
|
||||
|
||||
GeoNames (http://www.geonames.org/) offers web services and downloadable
|
||||
[GeoNames](http://www.geonames.org/) offers web services and downloadable
|
||||
databases with data on geographical features around the world, including
|
||||
populated places. They offer both free and paid premium data. Each
|
||||
feature is unique identified by a ```geonameId```, which is an integer.
|
||||
|
@ -117,7 +163,7 @@ details.
|
|||
This code requires PHP 5.3 or greater. Older versions of PHP are not
|
||||
supported.
|
||||
|
||||
This library also relies on the Guzze HTTP client, http://guzzlephp.org/
|
||||
This library also relies on the [Guzze HTTP client](http://guzzlephp.org/).
|
||||
|
||||
## Contributing ##
|
||||
|
||||
|
@ -126,7 +172,7 @@ PSR-2 style guidelines. Please include unit tests whenever possible.
|
|||
|
||||
## Author ##
|
||||
|
||||
Gregory Oschwald <goschwald@maxmind.com>
|
||||
[Gregory Oschwald](mailto:goschwald@maxmind.com)
|
||||
|
||||
## Copyright and License ##
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user