konfirm/isoflag

将 ISO3166 地区代码转换为它们的 Unicode(表情符号)国旗

1.0.1 2018-11-15 06:42 UTC

This package is auto-updated.

Last update: 2024-09-15 19:09:37 UTC


README

Unicode 联合会使得将两个字母的地区代码(ISO-3166 中定义的 alpha2)转换为它们的国旗表示成为可能,此库在 PHP 中为您执行此操作。

安装

$ composer require konfirm/isoflag

用法

<?php 

use Konfirm/ISOFlag/Flag;

$nl1 = Flag('NL');
$nl2 = Flag::NL();

API

###Flag::{iso}()

静态 __callStatic 实现被用作工厂来创建新的实例。只需将 ISO-3166 alpha2 地区代码作为方法名调用。这些实例被缓存并重复使用,以便允许实例比较。

<?php 

use Konfirm/ISOFlag/Flag;

$flag = Flag::ES();

if ($flag === Flag::es()) {
	//  both are the exact same instance
}

if ($flag === new Flag('ES')) {
    //  new instances are never fully identical
}

if ($flag == new Flag('ES')) {
    //  they do compare to be similar
}

注意:使用 new Flag(...) 构造函数创建的实例始终是全新的实例。

Flag::hasFlag(string iso)

静态 hasFlag 方法快速确定是否可以为指定的 ISO-3166 alpha2 代码创建 Flag 实例。

<?php 

use Konfirm/ISOFlag/Flag;

if (Flag::hasFlag('US')) {
	//  the 'US' region has a flag
}

if (Flag::hasFlag('QQ')) {
	//  this is never reached
} else {
	//  'QQ' is not a valid region :()
}

$flag->toHTMLEntities()

HTML 中的字符可以通过它们在 Unicode 标准中的字符索引来表示,ISOFlag 提供了这些实体的十六进制表示。

<?php 

use Konfirm/ISOFlag/Flag;

$flag = new Flag('CH');
$entities = $flag->toHTMLEntities();

// &#x1F1E8;&#x1F1ED;

$flag->toUnicodeSymbol()

将国旗表示为其 Unicode 表情符号

<?php 

use Konfirm/ISOFlag/Flag;

$flag = new Flag('DK');
$symbol = $flag->toUnicodeSymbol();

// 🇩🇰

(string) $flag

可以将 Flag 实例转换为字符串,这与在实例上使用 toUnicodeSymbol() 相同

<?php 

use Konfirm/ISOFlag/Flag;

$flag = new Flag('SE');
$symbol = (string) $flag;

// 🇸🇪

许可

MIT 许可证 版权所有 (c) 2018 Rogier Spieker(Konfirm)

特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用的许可,可以在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、特定目的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同行为、侵权行为或其他行为中,无论是否源于、源自或与软件或软件的使用或其他方式有关。