Skip to content

Commit

Permalink
Add Version 3.1.0 && Add Fields Siafi and Ddd
Browse files Browse the repository at this point in the history
  • Loading branch information
fulviocanducci committed Sep 10, 2020
1 parent 58227bc commit 9e6a0b3
Show file tree
Hide file tree
Showing 11 changed files with 899 additions and 362 deletions.
190 changes: 104 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

CEP do Brazil - Web Service [https://www.viacep.com.br](viacep.com.br)

[![PHP Composer](https://github.com/netdragoon/canduccicep/workflows/PHP%20Composer/badge.svg)](https://packagist.org/packages/canducci/cep)
[![Version](https://img.shields.io/packagist/v/canducci/cep.svg?label=version)](https://packagist.org/packages/canducci/cep)
[![Downloads](https://img.shields.io/packagist/dt/canducci/cep.svg?style=flat)](https://packagist.org/packages/canducci/cep)
[![PHP Composer](https://github.com/netdragoon/canduccicep/workflows/PHP%20Composer/badge.svg)](https://packagist.org/packages/canducci/cep)
[![License](https://img.shields.io/packagist/l/canducci/cep.svg)](https://packagist.org/packages/canducci/cep)
[![Version](https://img.shields.io/packagist/v/canducci/cep.svg?label=version)](https://packagist.org/packages/canducci/cep)

[Versão de configuração V2 - clique aqui](https://github.com/netdragoon/canduccicep/blob/master/READMEv2.md)

Expand All @@ -25,101 +25,119 @@ Se você utiliza o `Framework` [Laravel](https://www.laravel.com) segue logo aba
2. No arquivo procure o `array` `providers`
3. Entre com o `provider` no final da lista como exemplo:

````php
'providers' => [
...
Canducci\Cep\Providers\CepServiceProvider::class
]
```php
'providers' => [
...
Canducci\Cep\Providers\CepServiceProvider::class
]

```

4. Dentro do mesmo arquivo (`app.php`) configure os apelidos (`Facades`) como exemplo:

```php
'aliases' => [
...
'Cep' => Canducci\Cep\Facades\Cep::class,
'Endereco' => Canducci\Cep\Facades\Endereco::class
]

```php
'aliases' => [
...
'Cep' => Canducci\Cep\Facades\Cep::class,
'Endereco' => Canducci\Cep\Facades\Endereco::class
]

```

5. Como utilizar?

5.1 Com Injeção de Dependencia:

```php
Route::get('/cep', function(\Canducci\Cep\Cep $cep){
$cepResponse = $cep->find('01010000');
$data = $cepResponse->getCepModel();
return response()->json($data);
});
5.1 Com Injeção de Dependencia:

Route::get('/endereco', function(\Canducci\Cep\Endereco $endereco){
$enderecoResponse = $endereco->find('sp','são paulo', 'ave');
$data = $enderecoResponse->getCepModels();
return response()->json($data);
});
```

5.2 Com Facade Laravel:

```php
Route::get('/cep', function(){
$cepResponse = \Canducci\Cep\Facades\Cep::find('01010000');
$data = $cepResponse->getCepModel();
```php
Route::get('/cep', function(\Canducci\Cep\Cep $cep){
$cepResponse = $cep->find('01010000');
$data = $cepResponse->getCepModel();
return response()->json($data);
});
Route::get('/endereco', function(){
$enderecoResponse = \Canducci\Cep\Facades\Endereco::find('sp','são paulo', 'ave');
$data = $enderecoResponse->getCepModels();
});

Route::get('/endereco', function(\Canducci\Cep\Endereco $endereco){
$enderecoResponse = $endereco->find('sp','são paulo', 'ave');
$data = $enderecoResponse->getCepModels();
return response()->json($data);
});
```

5.3 Com `function` (função)

```php
Route::get('/cep', function(){
$cepResponse = cep('01010000');
$data = $cepResponse->getCepModel();
});
```

5.2 Com Facade Laravel:

```php
Route::get('/cep', function(){
$cepResponse = \Canducci\Cep\Facades\Cep::find('01010000');
$data = $cepResponse->getCepModel();
return response()->json($data);
});

Route::get('/endereco', function(){
$enderecoResponse = \Canducci\Cep\Facades\Endereco::find('sp','são paulo', 'ave');
$data = $enderecoResponse->getCepModels();
return response()->json($data);
});
```

5.3 Com `function` (função)

```php
Route::get('/cep', function(){
$cepResponse = cep('01010000');
$data = $cepResponse->getCepModel();
return response()->json($data);
});

Route::get('/endereco', function(){
$enderecoResponse = endereco('sp','são paulo','ave');
$data = $enderecoResponse->getCepModels();
return response()->json($data);
});

Route::get('/endereco', function(){
$enderecoResponse = endereco('sp','são paulo','ave');
$data = $enderecoResponse->getCepModels();
return response()->json($data);
});
```

```

6. Resposta satisfatória:

6.1 - Utilize o método `isOk()` para verificar se realmente os dados foram recebidos:

```php
$cepResponse = cep('01010000');
if ($cepResponse->isOk())
{
$data = $cepResponse->getCepModel();
return response()->json($data);
}
```

6.2 - Dados informados errados

6.2.1 - No `Cep` o valor informado deve possuir um desses formatos:

- 01010000, ou
- 01010-000

para uma resposta satisfatória, se não um exceção será lançada.

6.2.2 - No `Endereco` os valores informados segue essas regras

- Uf com 2 letras
- Cidade com no minimo 3 letras
- Logradouro com no minimo 3 letras

se não uma exceção será lançada.
6.1 - Utilize o método `isOk()` para verificar se realmente os dados foram recebidos:

```php
$cepResponse = cep('01010000');
if ($cepResponse->isOk())
{
$data = $cepResponse->getCepModel();
return response()->json($data);
}
```

e os dados são recuperados pelos metodos ou propriedades, exemplo:

```php
$model->getCep() ou $model->cep
$model->getLogradouro() ou $model->logradouro
$model->getComplemento() ou $model->c omplemento
$model->getBairro() ou $model->bairro
$model->getLocalidade() ou $m odel->localidade
$model->getUf() ou $model->uf
$model->getDdd() ou $model->ddd
$model->getSiafi() ou $model->sia fi
$model->getIbge() ou $model->ib ge
$model->getGia() ou $model->gia
```

6.2 - Dados informados errados

6.2.1 - No `Cep` o valor informado deve possuir um desses formatos:

- 01010000, ou
- 01010-000

para uma resposta satisfatória, se não um exceção será lançada.

6.2.2 - No `Endereco` os valores informados segue essas regras

- Uf com 2 letras
- Cidade com no minimo 3 letras
- Logradouro com no minimo 3 letras

se não uma exceção será lançada.

###### 2) Qualquer código que usa o composer.phar:

Expand All @@ -133,8 +151,8 @@ logo após isso, inclua no seu código o `autoload.php` que está dentro da past
<?php

require_once 'vendor/autoload.php';

$cepResponse = cep('01010000');
$data = $cepResponse->getCepModel();
echo json_encode($data);
```
```
59 changes: 31 additions & 28 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,31 +1,34 @@
{
"name": "canducci/cep",
"description": "CEP do Brasil Web Service ViaCep (https://viacep.com.br)",
"type": "library",
"license": "MIT",
"authors": [{
"name": "Fulvio",
"email": "fulviocanducci@hotmail.com"
}],
"require": {
"php": ">=7.2.7"
},
"require-dev": {
"phpunit/phpunit": "8.5.2",
"phpspec/phpspec": "6.1.1",
"illuminate/support": "7.x-dev"
},
"autoload": {
"psr-4": {
"Canducci\\Cep\\": "src/Canducci/Cep/"
},
"files": [
"src/Canducci/Cep/Helpers/cep_helper.php",
"src/Canducci/Cep/Helpers/uf_helper.php"
]
},
"minimum-stability": "dev",
"scripts": {
"test": "phpunit tests/"
"name": "canducci/cep",
"description": "CEP do Brasil Web Service ViaCep (https://viacep.com.br)",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Fulvio",
"email": "fulviocanducci@hotmail.com"
}
],
"version": "3.1.0",
"require": {
"php": ">=7.2.7"
},
"require-dev": {
"phpunit/phpunit": "8.5.2",
"phpspec/phpspec": "6.1.1",
"illuminate/support": "7.x-dev"
},
"autoload": {
"psr-4": {
"Canducci\\Cep\\": "src/Canducci/Cep/"
},
"files": [
"src/Canducci/Cep/Helpers/cep_helper.php",
"src/Canducci/Cep/Helpers/uf_helper.php"
]
},
"minimum-stability": "dev",
"scripts": {
"test": "phpunit tests/"
}
}
Loading

0 comments on commit 9e6a0b3

Please sign in to comment.