Skip to content

szhorvath/laravel-getaddress

Repository files navigation

laravel-getaddress

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Laravel-getaddress provides a wrapper around getaddress.io for laravel 5.4 and up. This package is based on PeteLawrence/getaddress PHP library.

Installation in Laravel 5.4

You can pull in the package via composer:

$ composer require szhorvath/laravel-getaddress

You need to add Szhorvath\GetAddress\GetAddressServiceProvider to your config/app.php providers array:

Szhorvath\GetAddress\GetAddressServiceProvider::class,

Add the following environmental variable to your .env file

GETADDRESSIO_API_KEY=your-api-key

You must publish the config file:

$ php artisan vendor:publish --provider="Szhorvath\GetAddress\GetAddressServiceProvider"

Installation in Laravel 5.5 and up

You can pull in the package via composer:

$ composer require szhorvath/laravel-getaddress

The package will automatically register itself.

Add the following environmental variable to your .env file

GETADDRESSIO_API_KEY=your-api-key

You must publish the config file:

$ php artisan vendor:publish --provider="Szhorvath\GetAddress\GetAddressServiceProvider"

Usage

In a controller you can use the Facade. The GetAddress always returns an array

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Szhorvath\GetAddress\Facades\GetAddress;

class AddressController extends Controller
{
    public function lookup()
    {
        $result = GetAddress::lookup('S20 8JH');

        $longitude = $result->getLongitude();
        $latitude = $result->getLatitude();
        $addressList = $result->getAddresses();

        foreach ($addressList as $key => $address) {
            $line1 = $address->getLine1();
            $line2 = $address->getLine2();
            $line3 = $address->getLine3();
            $line4 = $address->getLine4();
            $town  = $address->getTown();
            $postalTown = $address->getPostalTown();
            $normalisedTown = $address->getNormalisedTown();
            $county = $address->getCounty();
            #Full address as comma separated string
            $csv = $address->toCsv();
        }

        #Or for a specific address you can pass the house number or name as second parameter
        $result = GetAddress::lookup('S20 8JH', 5);
        if ($address = $result->getAddress()) {
            $town  = $address->getTown();
        };
    }
}

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email z.sandor.horvath@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Laravel wrapper around getaddress.io

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages