blakroku/countries

A lightweight PHP package that provides country data with powerful lookup functionality. Easily retrieve country details by name, code, domain extension, calling code, currency, and capital, all from a single source of truth.

v1.0.1 2025-05-13 14:07 UTC

This package is auto-updated.

Last update: 2025-06-13 14:23:56 UTC


README

A lightweight PHP package that provides country data with powerful lookup functionality. Easily retrieve country details by name, code, domain extension, calling code, currency, and capital, all from a single source of truth.

Installation

composer require blakroku/countries

Usage

use Blakroku\Countries\Countries\CountryManager;

$manager = new CountryManager();

// Get all countries
$countries = $manager->getAllCountries();

// Get country by name
$kenya = $manager->getCountryByName('Kenya');

// Get country by ISO code
$us = $manager->getCountryByCode('US');

// Get country by domain extension
$country = $manager->getCountryByDomainExtension('.fr');

// Get country by calling code
$country = $manager->getCountryByCallingCode('+49');

// Get country by currency
$country = $manager->getCountryByCurrency('EUR');

// Get country by capital
$country = $manager->getCountryByCapital('Tokyo');

Each lookup method returns a Country object or null if no match is found.

Features

  • Lookup by name, code, domain, currency, capital, and calling code

  • Lazy-loaded from a JSON dataset

  • Fast in-memory caching

  • Clean and modern PHP design

  • No external dependencies

Requirements

  • PHP 7.4 or higher

  • Composer

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email blakroku@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.