cxj / validate.address
简单的 USPS 网络API地址验证
0.1.1
2020-07-18 02:16 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-dom: *
- ext-xml: *
- webmozart/assert: ^1.8
Requires (Dev)
- php-mock/php-mock-phpunit: ^2.6
- phpunit/phpunit: ^9.1
This package is auto-updated.
Last update: 2024-09-18 11:58:47 UTC
README
美国邮政服务(USPS)地址标准化网络工具纠正街道地址中的错误,包括缩写和缺失信息,并提供ZIP代码和ZIP+4代码。
此库提供了一个简单的接口来使用上述USPS API。
安装和自动加载
此包可通过Composer安装并作为cxj/validate.address自动加载。
或者,下载发行版,或克隆此存储库,然后将Cxj\ValidateAddress\命名空间映射到包的src/目录。
依赖项
此包需要PHP 7.4或更高版本。我们原则上推荐使用可用的最新PHP版本。
示例用法
<?php $address = new Address( "8039 Beach Blvd", "", "Buena Park", "CA", "90620" ); $user = YOUR_USER_NAME; // Obtained from the USPS website: // https://www.usps.com/business/web-tools-apis/#developers $validate = new ValidateAddress(new CurlPost($user), new DomParser()); $response = $validate->validate($address); echo sprintf("Corrected ZIP+4 Code: %s-%s\n", $response->getAddress()->getZip5(), $response->getAddress()->getZip4() );
用于使用的API主类是ValidateAddress,要验证或规范化的地址作为参数对象或值对象传递给验证方法本身。构造函数需要另外两个依赖项,由CommunicationInteface定义(该接口处理与USPS服务器的连接和交换),以及ResponseParserInterface(该接口处理从服务器解码XML响应)。
提供了三个CommunicationInterface的实现,使用PHP Curl扩展通过HTTP POST或GET发送地址请求,以及流套接字。
提供了两个ResponseParserInterface的实现。一个需要PHP DOM扩展,另一个需要PHP XML扩展。
质量
要在命令行运行单元测试,请输入composer install,然后在包根目录中执行./vendor/bin/phpunit。这需要Composer作为composer可用,以及PHPUnit作为phpunit可用。