Skip to content

MikeGarde/country-codes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Packagist Packagist GitHub GitHub code size in bytes Libraries.io dependency status for GitHub repo codecov

Country Codes & US States

ISO 3166-1, 3166-2-US

Install

Find on Packagist, and install using Composer.

composer require mikegarde/country-codes

Use

Country Codes

include 'vendor/autoload.php';

use Countries\Countries;

$countries = new Countries();
$result    = $countries->getCountry('US');
$result    = $countries->getCountry('USA');
$result    = $countries->getCountry('UnitedStates');
$result    = $countries->getCountry('United States');
$result    = $countries->getCountry('United States of America');

/*
$result = [
    'name'    => 'United States',
    'iso2'    => 'US',
    'iso3'    => 'USA',
    'isoNum'  => '840',
    'fips'    => 'US',
    'capital' => 'Washington',
    'isEU'    => 0,
    'isUK'    => 0,
    'isUS'    => 0,
];
*/

For your UI

$countries = new Countries();
$results   = $countries->getAllCountries();

return json_encode($results);

US Territory

$countries = new Countries(true);
if ($countries->isUSTerritory('PR'))
{
    echo 'Yep, a US Territory';
}

Do something for Canada

if ($countries->validate('CA', $order['consignee']['countryCode']))
{
    echo 'Blame Canada';
}

US States

Do something different when shipping outside the lower 48

$stateTest = new US();

if ($stateTest->isCONUS($order['consignee']['state']))
{
    echo 'You can select USPS, UPS, or DHL';
}
else // OCONUS
{
   echo 'USPS is your only option for shipping to AK, HI, APO, or an FPO address';
}

Local Development Notes

The numeric value after the command represents the PHP version

task build-8.3
task setup-8.3
task test-8.3

Alternatively you can run task test-all to build, setup, and test against all supported PHP versions.