Provide Country and Other Locale Data in Laravel
Published on by Paul Redmond
Laravel World is a package providing a list of the countries, states, cities, currencies, and timezones. World integrates data with Eloquent models via the database and provides facades, helpers, and API routes:
use Nnjeim\World\World; $action = World::countries();/*{ "success": true, "message": "countries", "data": [ { "id": 1, "name": "Afghanistan" }, { "id": 2, "name": "Åland Islands" }, ... ],}*/
Here's another example from the readme using filters to fetch a country and cities within the country:
// Fetch a country and cities$action = World::countries([ 'fields' => 'states,cities', 'filters' => [ 'iso2' => 'FR', ]]);/*{ "success": true, "message": "countries", "data": [ "id": 77, "name": "France", "states": [ { "id": 1271, "name": "Alo" }, { "id": 1272, "name": "Alsace" }, ], "cities": [ { "id": 25148, "name": "Abondance" }, { "id": 25149, "name": "Abrest" }, ... ] ],}*/
This package also supports localization (see the readme for supported locales), provides API endpoints for all the data, and has helpers for formatting phone numbers, etc.
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks