upnid/consulta-cep

一个用于通过多种提供商查询CEPs的库。

这个包的官方仓库似乎已经消失,因此该包已被冻结。

v1.0.3 2016-03-18 15:28 UTC

This package is not auto-updated.

Last update: 2019-11-11 01:15:20 UTC


README

#Consulta Cep Consulta Cep库允许您通过CEP进行地址查询。

使用非常简单,您可以使用多个提供商来获取数据(如中国邮政官方网站、Républica Web、Postmon、ViaCep等)。

$consultaCep = new \ConsultaCep\ConsultaCep();
$result = $consultaCep->consult('01311300');
$data = $result->getData();

echo $data['street']; //Avenida Paulista - de 1867 ao fim - lado ímpar
echo $data['neighborhood']; //Bela Vista
echo $data['city']; //São Paulo
echo $data['state']; //SP

##如何使用 1 - 使用Composer下载库。

composer require upnid/consulta-cep

2 - 在项目根目录创建一个包含以下代码的文件

<?php
require_once __DIR__.'/../vendor/autoload.php';

$consultaCep = new \ConsultaCep\ConsultaCep();
$result = $consultaCep->consult('01311-300');
$data = $result->getData();

print_r($data);

3 - 完成!您可以通过更改第五行的数字序列来指定CEP。变量$data存储与CEP相关的数据数组。查看结果

Array
(
    [street] => Avenida Paulista - de 1867 ao fim - lado ímpar
    [neighborhood] => Bela Vista
    [city] => São Paulo
    [state] => SP
    [zipcode] => 01311300
)

查看其他示例。

##其他提供商 中国邮政提供的CEP数据以HTML格式存在,因此库需要处理这些数据以组织化地提供它们。这会消耗您的机器的CPU和内存,通常比使用自定义提供商慢。

该库允许您使用多个提供商。它们基本上类似于中国邮政网站,但信息是有组织的,并且不需要处理HTML(这使得过程更快)。

这些提供商将每个CEP的数据内部存储,从而避免了在第一次尝试后它们自己还需要在网站上进行查询。

使用Républica Virtual提供商的示例

<?php
require_once __DIR__.'/../vendor/autoload.php';

$provider = \ConsultaCep\Providers\ProvidersList::REPUBLICA_VIRTUAL;
$consultaCep = new \ConsultaCep\ConsultaCep($provider);

$result = $consultaCep->consult('01311300');
$data = $result->getData();

print_r($data);

您可以使用其他提供商,如POSTMONCORREIOS_CONTROLVIA_CEP,以及自己的CORREIOSREPUBLICA_VIRTUAL

##贡献 总是欢迎贡献。

发现了错误或希望添加提供商?只需发送一个Pull Request

与新的提供商集成很简单。我很快会创建一个wiki来详细解释。

###@TODO

  • 测试。
  • 创建异常(不存在的CEP、格式不正确的CEP、失败的提供商)。
  • 创建本地缓存系统。
  • 创建retry功能的说明。

##许可证 GPL2。