dougsisk / laravel-country-state
Country & state helper for Laravel.
Installs: 1 128 998
Dependents: 0
Suggesters: 0
Security: 0
Stars: 152
Watchers: 4
Forks: 15
Open Issues: 3
Requires
- php: ^7.4|^8.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- rinvex/countries: ^7.3|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^8.0|^9.0|^10.0|^11.0
README
A helper to list countries & states in English in Laravel 6.0+.
What's Changed in 4.0
- PHP 7.4+ or 8.0+ required
Installation
Require this package with composer:
composer require dougsisk/laravel-country-state
This package will automatically be discovered by Laravel, if enabled. If you don't have auto package discovery on, you'll need to add the following service provider to your config/app.php:
DougSisk\CountryState\CountryStateServiceProvider::class,
Copy the package config to your local config with the publish command:
php artisan vendor:publish --provider="DougSisk\CountryState\CountryStateServiceProvider" --tag="config"
Configuration
By default, the helper will preload states for the US. You can change this via the preloadCountryStates
config option:
'preloadCountryStates' => ['CA', 'MX', 'US']
If you don't want every country to be returned, you can define countries using the limitCountries
config option:
'limitCountries' => ['CA', 'MX', 'US']
Usage
You may now use the CountryState
facade to access countries and states.
Remember to import the namespace to access the facade in your files:
use CountryState;
To get an array of countries:
$countries = CountryState::getCountries();
The array keys will be the countries' 2 letter ISO code and the values will be the countries' English name. You may also set the 3 letter ISO key as the argument to receive translations of the countries' names (limited support).
To get an array of a country's states, simply pass the country's 2 letter ISO code:
$states = CountryState::getStates('US');
The array keys will be the states' 2 letter ISO code and the values will be the states' English name.
License
This library is available under the MIT license.