divineomega / php-postcodes

此库处理各种与英国邮政编码相关的任务,例如通过邮政编码查找地址、邮政编码验证、生成有效的英国邮政编码以及获取邮政编码的外向和内向编码。

v4.6.0 2021-12-16 14:47 UTC

README

Build Status Coverage Status StyleCI Packagist

此库处理各种与英国邮政编码相关的任务。

功能

  • 通过邮政编码查找地址
  • 邮政编码验证
  • 生成有效的英国邮政编码
  • 获取邮政编码的外向和内向编码

安装

要安装,只需运行以下composer命令。

composer require divineomega/php-postcodes

设置

邮政编码查找服务

使用此库提供的一些数据检索功能需要邮政编码查找服务。它目前支持以下邮政编码查找服务。

如果您需要使用这些功能,请在相应网站注册。

然后,您可以使用以下代码获取适当的邮政编码查找服务对象。

$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