ok / ipstack-client
A PHP wrapper for using Ipstack API
Installs: 371 393
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- ext-simplexml: *
Requires (Dev)
- phpunit/php-code-coverage: ^9
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2025-04-17 21:19:57 UTC
README
ipstack-client
A PHP wrapper for using Ipstack API
Install via composer
:
composer require ok/ipstack-client
Basic usage
Get data as the Location object:
$client = new OK\Ipstack\Client('api_key'); $location = $client->get('134.201.250.155', false); var_dump($location);
result:
class OK\Ipstack\Entity\Location#3 (12) { protected $city => string(11) "Los Angeles" protected $continentCode => string(2) "NA" protected $continentName => string(13) "North America" protected $countryCode => string(2) "US" protected $countryName => string(13) "United States" protected $regionCode => string(2) "CA" protected $regionName => string(10) "California" protected $zip => string(5) "90026" protected $latitude => double(34.0766) protected $longitude => double(-118.2646) protected $ip => string(15) "134.201.250.155" protected $valid => bool(true) }
Get data as a simple array:
$client = new OK\Ipstack\Client('api_key'); $location = $client->get('134.201.250.155'); var_dump($location);
result:
array(13) { 'ip' => string(15) "134.201.250.155" 'type' => string(4) "ipv4" 'continent_code' => string(2) "NA" 'continent_name' => string(13) "North America" 'country_code' => string(2) "US" 'country_name' => string(13) "United States" 'region_code' => string(2) "CA" 'region_name' => string(10) "California" 'city' => string(11) "Los Angeles" 'zip' => string(5) "90026" 'latitude' => string(7) "34.0766" 'longitude' => string(9) "-118.2646" 'location' => array(8) { 'geoname_id' => string(7) "5368361" 'capital' => string(15) "Washington D.C." 'languages' => array(3) { 'code' => string(2) "en" 'name' => string(7) "English" 'native' => string(7) "English" } 'country_flag' => string(38) "http://assets.ipstack.com/flags/us.svg" 'country_flag_emoji' => string(8) "🇺🇸" 'country_flag_emoji_unicode' => string(15) "U+1F1FA U+1F1F8" 'calling_code' => string(1) "1" 'is_eu' => array(0) { } } }
Information
Modifiable output params
Available params for getting custom result
For example:
$client = new OK\Ipstack\Client('api_key'); $client->getParams()->addField("calling_code");
Data providers
Now, here are available several providers:
You can change provider by pass one of type above as second argument in constructor
For example:
$client = new OK\Ipstack\Client('api_key', OK\Ipstack\Provider\ProviderFactory::TYPE_IPAPI);