Skip to content

library for generating emoji flags from iso country codes

License

Notifications You must be signed in to change notification settings

mainstreamer/isoflags

Repository files navigation

IsoFlags

License Latest Stable Version Total Downloads Tests codecov PHP Version

A modern PHP library for generating emoji flags from ISO 3166-1 alpha-2 country codes and extended regional codes.

Features

  • 🚀 Generate emoji flags from ISO country codes
  • 🌍 Extended regional codes support (Kosovo, Ascension Island, etc.)
  • 🛡️ Type-safe with PHP 8.4 enums
  • ✅ 100% test coverage
  • 📦 Zero dependencies - only requires PHP 8.4+

Installation

composer require rteeom/isoflags

Requirements: PHP 8.4 or higher

Quick Start

use Rteeom\FlagsGenerator\FlagsGenerator;

// Generate emoji flags
echo FlagsGenerator::getFlag('gb'); // 🇬🇧
echo FlagsGenerator::getFlag('ua'); // 🇺🇦
echo FlagsGenerator::getFlag('us'); // 🇺🇸

// Safe usage (returns null for invalid codes)
$flag = FlagsGenerator::getFlagOrNull('invalid'); // null

Extended Regional Codes

use Rteeom\FlagsGenerator\FlagsGenerator;
use Rteeom\FlagsGenerator\Enums\CodeSet;

// Kosovo, Ascension Island, and more
echo FlagsGenerator::getFlag('xk', CodeSet::EXTENDED); // 🇽🇰
echo FlagsGenerator::getFlag('ac', CodeSet::EXTENDED); // 🇦🇨

Validation

use Rteeom\FlagsGenerator\CountryCodeValidator;

$isValid = CountryCodeValidator::isValidCountryCode('gb'); // true
$isValid = CountryCodeValidator::isValidCountryCode('invalid'); // false

Documentation

📚 Read the full documentation →

Development

Run Tests

./vendor/bin/phpunit

Code Quality

make qa  # Run all quality checks

See Contributing Guide for details.

Changelog

See CHANGELOG.md for version history.

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Support


Made with ❤️ by Rteeom

About

library for generating emoji flags from iso country codes

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published