divineomega / php-postcodes
此库处理各种与英国邮政编码相关的任务,例如通过邮政编码查找地址、邮政编码验证、生成有效的英国邮政编码以及获取邮政编码的外向和内向编码。
v4.6.0
2021-12-16 14:47 UTC
Requires
- php: ^7.1||^8.0
- ext-json: *
- fakerphp/faker: ^1.9.1
- guzzlehttp/guzzle: ^6.0||^7.0
Requires (Dev)
- fzaninotto/faker: ^1.6
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^7.0 || ^8.0
README
此库处理各种与英国邮政编码相关的任务。
功能
- 通过邮政编码查找地址
- 邮政编码验证
- 生成有效的英国邮政编码
- 获取邮政编码的外向和内向编码
安装
要安装,只需运行以下composer命令。
composer require divineomega/php-postcodes
设置
邮政编码查找服务
使用此库提供的一些数据检索功能需要邮政编码查找服务。它目前支持以下邮政编码查找服务。
- Ideal Postcodes - https://ideal-postcodes.co.uk
- Postcode Anywhere (PCA Predict) - https://www.pcapredict.com/
- Postcodes.io - http://postcodes.io/
如果您需要使用这些功能,请在相应网站注册。
然后,您可以使用以下代码获取适当的邮政编码查找服务对象。
$postcodeLookupService = new \DivineOmega\Postcodes\Objects\IdealPostcodes('API_KEY'); // OR $postcodeLookupService = new \DivineOmega\Postcodes\Objects\PostcodeAnywhere('API_KEY'); // OR $postcodeLookupService = new \DivineOmega\Postcodes\Objects\PostcodesIo();
用法
通过邮政编码获取地址
要检索与英国邮政编码相关的地址,只需将其传递到以下所示的方法。您将收到一个地址对象的数组,适当地根据地址行和其他详细信息分割。
$addresses = $postcodeLookupService->getAddressesByPostcode('ST163DP');
验证邮政编码
您可以使用Validator
实用程序类来验证英国邮政编码是否正确。以下是如何操作的示例。
$validated = \DivineOmega\Postcodes\Utils\Validator::validatePostcode('ST163DP');
请注意,邮政编码验证不区分大小写。
生成邮政编码
此库允许您生成一个随机、有效的英国邮政编码。这使用Generator
实用程序类,如下所示。
$postcode = \DivineOmega\Postcodes\Utils\Generator::generatePostcode();
获取外向和内向编码
邮政编码的第一部分,例如PO1,称为外向编码,因为它标识了要发送信件以进行进一步分拣的城镇或地区。邮政编码的第二部分,例如1EB,称为内向编码。
$outwardCode = \DivineOmega\Postcodes\Utils\Tokenizer::outward('ST163DP'); // Returns ST16 $inwardCode = \DivineOmega\Postcodes\Utils\Tokenizer::inward('ST163DP'); // Returns 3DP