upnid / consulta-cep
Biblioteca para consultar CEPs através de diversos provedores.
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 2 717
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 2
Requires
- php: >=5.4
- ext-curl: *
- ext-json: *
- paquettg/php-html-parser: ^1.6
Requires (Dev)
- phpunit/phpunit: ~4.8
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2019-11-11 01:15:20 UTC
README
#Consulta Cep A biblioteca Consulta Cep permite que você faça consultas de endereços através de CEPs.
O uso é extremamente simples e você pode usar múltiplos provedores para obter os dados (como Site Oficial do Correios, República Web, Postmon, ViaCep, etc).
$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
##Como Usar 1 - Baixe a biblioteca usando o Composer.
composer require upnid/consulta-cep
2 - Crie um arquivo na raiz do seu projeto com o seguinte código:
<?php require_once __DIR__.'/../vendor/autoload.php'; $consultaCep = new \ConsultaCep\ConsultaCep(); $result = $consultaCep->consult('01311-300'); $data = $result->getData(); print_r($data);
3 - Pronto! Você pode indicar o CEP trocando a sequência de números da quinta linha. A variável $data
armazena uma array com os dados referentes do CEP. Veja o resultado:
Array ( [street] => Avenida Paulista - de 1867 ao fim - lado ímpar [neighborhood] => Bela Vista [city] => São Paulo [state] => SP [zipcode] => 01311300 )
##Outros Provedores Os dados do CEP que o Correios oferece vêm em HTML, e por isso a biblioteca precisa manipular esses dados para entregá-los de forma organizada. Isso consome processamento e memória da sua máquina, e geralmente é mais lento do que usar um provedor personalizado.
A biblioteca permite que você use inúmeros provedores. Eles basicamente são como site do Correios, mas as informações vem organizadas e não é necessário manipular HTML (o que deixa o processo mais rápido).
Esses provedores salvam os dados de cada CEP internamente, o que evita que eles mesmos precisem consultar no site do Correios após a primeira tentativa.
Exemplo usando o provedor República 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);
Você pode usar outros provedores, como POSTMON
, CORREIOS_CONTROL
, VIA_CEP
, além do próprio CORREIOS
e REPUBLICA_VIRTUAL
.
##Contribuições Contribuições sempre serão bem-vindas.
Achou algum bug ou deseja ingrar algum provedor? É só enviar um Pull Request.
A integração com novos provedores é bem simples. Em breve eu criarei uma wiki explicando detalhadamente.
###@TODO
- Testes.
- Criar exceções (cep não existente, cep com formato inválido, provedor falhou).
- Fazer sistema de caching nativo.
- Criar instruções para o recurso
retry
.
##Licença GPL2.