PostcodesIO is a PHP library for postcodes.io API.
Install using composer:
$ composer require jabranr/postcodes-io
All of the following methods return back the same complete response as it comes from postcodes.io API in JSON format.
Prerequisites
Docker
Start container: docker-compose up
Run tests: docker-compose exec postcodes_io bash -c "composer test"
Debugging
Xdebug is already installed and enabled as part of the docker setup. The project includes launch.json
debug setup file for VSCode.
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
try {
$addresses = $postcodesIO->find('NW1 5LD');
} catch(Exception $e) {
echo $e->getMessage();
}
You can catch specific
JabranrPostcodesIOExceptionPostcodeIOException
or/and catch generalException
to catch any type.
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO('NW1 5LD');
$addresses = $postcodesIO->getResult();
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->findByLocation(51.520331, -0.1396267);
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->findRandom();
OR use the alias method:
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->random();
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->validate('NW1 5LD');
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->findNearest('NW1 5LD');
OR use the alias method:
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->nearest();
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->autocomplete('NW1');
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->query('NW1 5LD');
OR use the alias method:
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->search('NW1 5LD');
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->findOutcode('NW1');
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->nearestOutcode('NW1');
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->findOutcodeByLocation(51.520331, -0.1396267);
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->bulkPostcodeSearch(array('NW1 5LD', 'W1T 7NY'));
Maximum of 100 postcodes per request.
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->bulkReverseGeocoding(array(
array(51.520331, -0.1396267),
array(51.520331, -0.1396267)
));
or
use JabranrPostcodesIOPostcodesIO;
$postcodesIO = new PostcodesIO();
$addresses = $postcodesIO->bulkReverseGeocoding(array(
array('latitude' => 51.520331, 'longitude' => -0.1396267),
array('latitude' => 51.520331, 'longitude' => -0.1396267)
));
Maximum of 100 geolocations per request.
MIT License © 2016 – present | Jabran Rafique