Laravel Countries and Currencies Package

Published on by

Laravel Countries and Currencies Package image

Antonio Carlos Ribeiro recently launched a new package that gives you a powerful setup for dealing with the different Countries of the world, all through a comfortable Laravel syntax using Collections.

The package does a lot. Everything from geology and topology, to states, currencies, and time zones.

As I was reviewing it I tried to think of some common use cases that almost every app needs and here are a few examples:

Generate a list of Countries

Need a list of all the countries in the world? It’s as simple as calling:

Countries::all()->pluck('name.common');
[
"Aruba",
"Afghanistan",
"Angola",
"Anguilla",
"Åland Islands",
....

Generate a list of States

In a lot of registration forms, you need to allow people to pick their state.

Countries::where('name.common', 'United States')
->first()
->states
->sortBy('name')
->pluck('name', 'postal')

This gives you a result of the states that can then be used in a select list:

{
"AL": "Alabama",
"AK": "Alaska",
"AZ": "Arizona",
"AR": "Arkansas",
"CA": "California",
....

Get the timezone for a State

Another typical pattern is figuring out a timezone. If you already have the users country and state it’s now super easy:

return Countries::where('name.common', 'United States')->first()->timezone->NC;

Returns:

America/New_York

Get a countries currency

Need to get information on a specific countries currency? With this package it’s very easy:

Countries::where('name.common', 'United States')->first()->currency;

Which returns:

[{
"alternativeSigns": [],
"ISO4217Code": "USD",
"ISO4217Number": "840",
"sign": "$",
"subunits": 100,
"title": "U.S. dollar",
....

These examples are just the basics of what can be done. It supports the following countries, states, and currencies:

  • Countries
    • name (common and native)
    • currency
    • languages
    • states
    • timezone
    • flags (sprites, flag icons, svg)
    • tld
    • multiple ISO codes
    • calling code
    • capital
    • alternate spellings
    • region & sub region
    • translations (country name translated to some other languages)
    • latitude and logitude
    • borders (countries) – you can hydrate those borders (like relatioships)
    • area
    • topology
    • geometry
  • Currencies
    • sign
    • ISO codes
    • title
    • subunits
    • usage (dates)
  • States
    • adm codes
    • name & alt name
    • type (state, city, province, canton, department, district, etc.)
    • latitude & longitude
    • language
    • (and many more)

For more information on this package check out the GitHub repo.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.

image
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Acquaint Softtech logo

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Laravel Cloud logo

Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Cloud
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift

The latest

View all →
Watch the Teaser for 'The Story of PHP' Documentary image

Watch the Teaser for 'The Story of PHP' Documentary

Read article
Ship AI with Laravel: Give Your AI Agent Live Web Search image

Ship AI with Laravel: Give Your AI Agent Live Web Search

Read article
Lattice: Describe Inertia UIs in PHP image

Lattice: Describe Inertia UIs in PHP

Read article
How We Cached Laravel News at the Edge with Fast Laravel image

How We Cached Laravel News at the Edge with Fast Laravel

Read article
The artisan dev Command in Laravel 13.16.0 image

The artisan dev Command in Laravel 13.16.0

Read article
LaraOwl: Self-Hosted Monitoring for Laravel Applications image

LaraOwl: Self-Hosted Monitoring for Laravel Applications

Read article