lstables / postcodes
UK Postcode API Facade for Laravel
v1.4
2017-10-25 18:55 UTC
Requires
- php: ^5.5 || ^7.0
- guzzlehttp/guzzle: ~6.0
- guzzlehttp/psr7: ^1.3
- illuminate/support: 5.*
Requires (Dev)
- phpunit/phpunit: ^4.0 || ^5.5
This package is not auto-updated.
Last update: 2024-11-04 19:14:36 UTC
README
A Laravel 5+ facade/service provider for the API methods at postcodes.io
- useful for UK postcode validation and reverse geocoding: that is, determining postcode from lat, long coordinates.
No fiddling around with api keys, authentication, necessary...
With thanks to https://postcodes.io
Installation
composer require codescheme/postcodes
For Laravel 5.5 Postcodes will be automatically discovered.
Edit /config/app.php
and add the service provider to your providers
array.
'providers' => [ Codescheme\Postcodes\PostcodeServiceProvider::class, ]
Also here, add the alias:
'aliases' => [ 'Postcode' => Codescheme\Postcodes\Facades\Postcode::class, ]
Basic Example Laravel Usage
Return data for a given postcode
Route::get('/postcode', function(){ $data = Postcode::postcodeLookup('SE21 8JL'); print_r($data); return null; });
Methods
Postcode::validate('SE31 9AX'); //returns boolean
Postcode::postcodeLookup('SE21 8JL');
Postcode::nearest('SE21 8JL');
Postcode::reverseGeocode(-0.397913, 51.44015); // long,lat
Postcode::autocomplete('RG1 3');
Postcode::outcodeLookup('SE21');
$postcodes = ['OX49 5NU', 'M32 0JG', 'NE30 1DP'];
Postcode::postcodeLookupBulk($postcodes);
$coordinates = [
['longitude' => 0.629834723775309, 'latitude' => 51.7923246977375],
['longitude' => -2.49690382054704, 'latitude' => 53.5351312861402]
];
Postcode::reverseGeocodeBulk($coordinates);
Testing
$ composer test