rocketfellows / iso-standard-3166-factory
v1.0.0
2023-01-14 13:05 UTC
Requires
- php: >=7.4
- arslanimamutdinov/iso-standard-3166: ^1.0
- rocketfellows/iso-standard-3166-validation: ^1.0
Requires (Dev)
- phpstan/phpstan: ^0.12.90
- phpunit/phpunit: ^8.5
- squizlabs/php_codesniffer: 3.6.2
This package is not auto-updated.
Last update: 2024-09-22 19:29:49 UTC
README
该组件提供根据ISO-3166标准创建国家的工厂,通过
- 代码(alpha2,alpha3,数字代码)
- 全英文名称
工厂创建arslanimamutdinov\ISOStandard3166\Country的实例。
安装
composer require rocketfellows/iso-standard-3166-factory
通过代码创建国家
注意:通过代码创建不区分大小写。
示例:通过alpha2,alpha3,数字代码创建国家
$factory = new CountryFactory(); $factory->createByCode('AT'); // creates by alpha2 code $factory->createByCode('at'); // creates by alpha2 code in lower case $factory->createByCode('AUT'); // creates by alpha3 $factory->createByCode('aut'); // creates by alpha3 in lower case $factory->createByCode('040'); // creates by numeric code
上述示例将返回
object(arslanimamutdinov\ISOStandard3166\Country)#3 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(7) "Austria" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "AT" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "AUT" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "040" }
如果代码为空或未知,工厂将抛出
- EmptyCountryCodeException异常
- UnknownCountryCodeException异常
通过英文名称创建国家
注意:通过代码创建区分大小写,并且需要全名。
示例:通过名称创建国家
$factory = new CountryFactory(); $factory->createByName('Austria');
上述示例将返回
object(arslanimamutdinov\ISOStandard3166\Country)#6 (4) { ["name":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(7) "Austria" ["alpha2":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(2) "AT" ["alpha3":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "AUT" ["numericCode":"arslanimamutdinov\ISOStandard3166\Country":private]=> string(3) "040" }
如果名称为空或未知,工厂将抛出
- UnknownCountryNameException异常
- EmptyCountryNameException异常
贡献
欢迎提交拉取请求。如果有重大变更,请先创建一个问题进行讨论。
请确保适当地更新测试。