Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/claudsonm/cep-promise-php
Busca por CEP utilizando Promises nos serviços dos Correios, ViaCEP, CepAberto e outros.
https://github.com/claudsonm/cep-promise-php
cep cepaberto codeigniter composer composer-package correios laravel packagist php promise symfony viacep zend-framework
Last synced: about 8 hours ago
JSON representation
Busca por CEP utilizando Promises nos serviços dos Correios, ViaCEP, CepAberto e outros.
- Host: GitHub
- URL: https://github.com/claudsonm/cep-promise-php
- Owner: claudsonm
- Created: 2019-03-24T15:57:21.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-07T13:06:45.000Z (3 months ago)
- Last Synced: 2024-12-16T15:46:08.093Z (7 days ago)
- Topics: cep, cepaberto, codeigniter, composer, composer-package, correios, laravel, packagist, php, promise, symfony, viacep, zend-framework
- Language: PHP
- Homepage:
- Size: 516 KB
- Stars: 28
- Watchers: 2
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CEP Promise PHP
[![Run Tests](https://github.com/claudsonm/cep-promise-php/actions/workflows/run-tests.yml/badge.svg)](https://github.com/claudsonm/cep-promise-php/actions/workflows/run-tests.yml)
[![Check & fix styling](https://github.com/claudsonm/cep-promise-php/actions/workflows/php-cs-fixer.yml/badge.svg)](https://github.com/claudsonm/cep-promise-php/actions/workflows/php-cs-fixer.yml)
![Packagist](https://img.shields.io/packagist/dt/claudsonm/cep-promise-php)
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg)](#contributors)Um pacote agnóstico para PHP 7.4 e 8.0+ que efetua a busca de CEPs em diversos serviços utilizando [Promises/A+](https://promisesaplus.com/).
Inspirado no pacote [CEP Promise](https://github.com/filipedeschamps/cep-promise)
para Node.js e web browsers.## Features
- Realiza requests de forma concorrente, retornando sempre a resposta mais rápida;
- Possui alta disponibilidade por utilizar diversos provedores de serviço diferentes;
- Base de CEPs sempre atualizada, já que conecta-se com diversos serviços, dentre eles os Correios;
- Sem limites de requisições (*rate limits*) conhecidas;
- Feito utilizando a implementação para PHP de promises do pacote [guzzle/promises](https://github.com/guzzle/promises);## Instalação
A maneira recomendada de instalar o pacote é via [Composer](https://getcomposer.org/download/).
Com a ferramenta instalada, execute o comando abaixo:```bash
composer require claudsonm/cep-promise-php
```Após instalar, você precisará requerer o autoloader do Composer por meio da
instrução:```php
require 'vendor/autoload.php';
```## Exemplos de Uso
### Exemplo 1
Busca utilizando valores inteiros e resposta em forma de objeto.```php
Aracaju
[district] => Inácio Barbosa
[state] => SE
[street] => Rua Universo
[zipCode] => 49040610
)
*/
```### Exemplo 2
Busca utilizando uma string numérica e resposta em forma de array.```php
toArray();/*
Array
(
[city] => Rondonópolis
[district] => Vila Marinópolis
[state] => MT
[street] => Rua Pirajuí
[zipCode] => 78710857
)
*/
```### Exemplo 3
Busca utilizando uma string com formatação.```php
zipCode;
echo $address->street;
echo $address->district;
echo $address->city;
echo $address->state;/*
'59067540'
'Rua Figueira'
'Pitimbu'
'Natal'
'RN'
*/
```### Exemplo 4
Captura e tratamento de erros.```php
toArray();
}/*
Array
(
[message] => Todos os serviços de CEP retornaram erro.
[code] => 2
[errors] => Array
(
[0] => Array
(
[provider] => via_cep
[message] => CEP não encontrado na base do ViaCEP.
)[1] => Array
(
[provider] => cep_aberto
[message] => Erro ao se conectar com o serviço CEP Aberto.
)[2] => Array
(
[provider] => correios
[message] => CEP INVÁLIDO
))
)
*/
```## Contribuidores
Um muito obrigado a todos os serumaninhos que contribuiram com este repositório:
Este projeto segue a especificação do [all-contributors](https://github.com/all-contributors/all-contributors). Contribuições de qualquer natureza são bem vindas!