2017 © Pedro Peláez
 

library phpaddressr

An address cleaner, normaliser written in PHP. Includes implementation to use the SmartyStreets.com api for US address cleaning, and Google Geocoding.

image

drawmyattention/phpaddressr

An address cleaner, normaliser written in PHP. Includes implementation to use the SmartyStreets.com api for US address cleaning, and Google Geocoding.

  • Thursday, October 8, 2015
  • by drawmyattention
  • Repository
  • 2 Watchers
  • 0 Stars
  • 949 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 3 Versions
  • 69 % Grown

The README.md

PHPAddressr

PHPAddressr is a framework agnostic set of methods that allows easy postcode / zipcode lookups, and conversion of addresses to longitude and latitude values via Google's mapping APIs., (*1)

Scrutinizer Code Quality Build Status License, (*2)

Installation

Composer is the easiest way to install PHPAddressr., (*3)

composer require drawmyattention/phpaddressr

Api Key

Google's geocoding API requires an API key in order to function. A key can be generated via their official API website. Please keep your API key safe, and outside of source control., (*4)

Once you have an API key, edit the config.php file to specify your key., (*5)

Alternatively, you can set the Api key using the setApiKey() method in the GoogleGeocode class., (*6)

Usage

Finding the longitude / latitude of an address

$geocode = new DrawMyAttention\PHPAddressr\GoogleGeocode();

// Optional, if a key hasn't been provided in the config file.
$geocode->setApiKey('123abc');

$latLng = $geocode->getLatLng([
    'building'  => 'Dock offices'
    'street'    => 'Surrey Quays Road',
    'city'      => 'London',
    'state'     => 'Greater London',
    'postcode'  => 'SE16 2XU',
    'country'   => 'United Kingdom'
]);

/* 
    array(2) {
      'longitude' =>
      double(-0.0507361)
      'latitude' =>
      double(51.4965262)
    }
*/

Note: Not all address values are required, however the higher number of accurate address parameters that are passed, the higher the accuracy of the longitude and latitude that is returned., (*7)

Finding an address by postcode

$geocode = new DrawMyAttention\PHPAddressr\GoogleGeocode();

$address = $geocode->getFullAddressByPostcode('SE16 2XU');

// An Address instance is returned.

/* 
    class DrawMyAttention\PHPAddressr\Address#4 (4) {
      private $address =>
      array(7) {
        'company' =>
        class DrawMyAttention\PHPAddressr\Data#9 (3) {
          public $required =>
          bool(false)
          public $value =>
          string(0) ""
          public $updated =>
          string(0) ""
        }
        'building' =>
        class DrawMyAttention\PHPAddressr\Data#10 (3) {
          public $required =>
          bool(false)
          public $value =>
          string(0) ""
          public $updated =>
          string(0) ""
        }
        'street' =>
        class DrawMyAttention\PHPAddressr\Data#5 (3) {
          public $required =>
          bool(true)
          public $value =>
          string(17) "Surrey Quays Road"
          public $updated =>
          string(0) ""
        }
        'city' =>
        class DrawMyAttention\PHPAddressr\Data#6 (3) {
          public $required =>
          bool(true)
          public $value =>
          string(6) "London"
          public $updated =>
          string(0) ""
        }
        'state' =>
        class DrawMyAttention\PHPAddressr\Data#7 (3) {
          public $required =>
          bool(false)
          public $value =>
          string(14) "Greater London"
          public $updated =>
          string(0) ""
        }
        'postcode' =>
        class DrawMyAttention\PHPAddressr\Data#11 (3) {
          public $required =>
          bool(true)
          public $value =>
          string(0) ""
          public $updated =>
          string(0) ""
        }
        'country' =>
        class DrawMyAttention\PHPAddressr\Data#8 (3) {
          public $required =>
          bool(true)
          public $value =>
          string(14) "United Kingdom"
          public $updated =>
          string(0) ""
        }
      }
      private $longitude =>
      double(-0.051054)
      private $latitude =>
      double(51.4967696)
*/

Contributing

Please submit any contributions via a pull request. Any submissions should be backed by tests in order to be merged., (*8)

Licence

This project is open-sourced software licenced under the MIT license., (*9)

The Versions

08/10 2015

dev-master

9999999-dev

An address cleaner, normaliser written in PHP. Includes implementation to use the SmartyStreets.com api for US address cleaning, and Google Geocoding.

  Sources   Download

MIT

The Development Requires

08/10 2015

1.1.0

1.1.0.0

An address cleaner, normaliser written in PHP. Includes implementation to use the SmartyStreets.com api for US address cleaning, and Google Geocoding.

  Sources   Download

MIT

The Development Requires

05/10 2015

1.0.0

1.0.0.0

An address cleaner, normaliser written in PHP. Includes implementation to use the SmartyStreets.com api for US address cleaning, and Google Geocoding.

  Sources   Download

MIT

The Development Requires