Laravel Packages

Manage Global Data in Laravel with the World Package

Published
Manage Global Data in Laravel with the World Package image

If you are working on an application and need a comprehensive list of countries, states, cities, timezones, currencies, and languages, look no further than this handy Laravel package called World.

Key Features

  • Extensive Data Coverage: Access detailed information on countries, their subdivisions, cities, time zones, currencies, and languages, all within a unified package.
  • Flexible Data Retrieval: Utilize the World Facade or predefined API routes to fetch data as per application requirements.
  • Localization Support: Customize data presentation to match different locales, enhancing the user experience across diverse regions.
  • Configurable Database Connection: Define a custom database connection using the WORLD_DB_CONNECTION variable in your .env file. This allows you to retrieve data by connecting to a different database than your default connection.

You can install the package into your Laravel project via Composer:

composer require nnjeim/world

Next, run the following Artisan command to automate the installation process:

php artisan world:install

The install command will run the migrations and seed the database.

Examples

Using the World facade, you can easily get a list of countries and specify which fields you would like to return and what filters you would like to apply:

$countries = World::countries(); // would return a list of all countries
 
// or the following would return all the cities and states/parishes in Jamaica
$countryWithStatesAndCities = World::countries([
'fields' => 'states,cities',
'filters' => [
'iso2' => 'JM'
]
]);

Or if you need a list of currencies, you could use the following:

$currencies = World::currencies([
'fields' => 'code,symbol,country',
'filters' => [
'code' => 'USD'
]
]);

The package also provides API endpoints out of the box with the same ability to specify fields, filters, and even a search string. For example:

  • http://world.test/api/countries?fields=states,cities
  • http://world.test/api/countries?fields=states&search=Jamaica
  • http://world.test/api/currencies
  • http://world.test/api/currencies?fields=code&filters[code]=JMD

Learn more about this package and view the source code on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Image Dominant Color and HEIC Support in Laravel 13.24 image

Image Dominant Color and HEIC Support in Laravel 13.24

Read article
Official Laravel Zed Extension: LSP for PHP & Blade image

Official Laravel Zed Extension: LSP for PHP & Blade

Read article
Laravel Head: Manage Meta Tags, Open Graph, and JSON-LD image

Laravel Head: Manage Meta Tags, Open Graph, and JSON-LD

Read article
PhpStorm 2026.2 Released image

PhpStorm 2026.2 Released

Read article
Laravel Doctor: Diagnose Your App With One Artisan Command image

Laravel Doctor: Diagnose Your App With One Artisan Command

Read article
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article