v2.0.1 2016-12-20 00:14 UTC

README

Web Service http://viacep.com.br/

Canducci Cep

Build Status Packagist Packagist Packagist

Demo

Demo Canducci CEP

Configurações

Na chave require do composer.json adicione a linhas abaixo conforme versão:

Versão 1.*

"canducci/cep": "1.0.*" 

Versão 2.*

"canducci/cep": "2.0.*"

Na linha de comando execute:

$ composer update

No config/app.php em providers adicione conforme versão:

Versão 1.*

'providers' => array(
    ...,
    'Illuminate\Workbench\WorkbenchServiceProvider',
    'Canducci\Cep\CepServiceProvider',    

),

Versão 2.*

'providers' => array(
    ...,
    'Illuminate\Workbench\WorkbenchServiceProvider',    
    'Canducci\Cep\Providers\CepServiceProvider'

),

No final do arquivo config/app.php adicione o aliases (Facade):

Versão 1.*

'aliases' => array(
    ...,
    'View'       => 'Illuminate\Support\Facades\View',
    'Cep'        => 'Canducci\Cep\Facade\Cep',
),

Versão 2.*

'aliases' => array(
    ...,
    'View'       => 'Illuminate\Support\Facades\View',    
    'Cep'        => 'Canducci\Cep\Facades\Cep',
    'Endereco'   => 'Canducci\Cep\Facades\Endereco',

),

##Como usar?

Para usar é muito simples, passe o CEP e chame os diversos tipos de saída:

####Facade (version 1.* e 2.*)

$cep = Cep::find('01414-001');

####Application (version 1.* e 2.*)

$cep = app('Cep')->find('01414-001');

####Injection (version 2.*)

Route::get("cep", function(Canducci\Cep\Contracts\ICep $c)
{    
    $cep = $c->find('01414-001');
});

####Function (version 2.*)

$cep = cep('01414-001');

###Tipos retornados:

$cepInfo = $cep->toJson();

$cepInfo->result();

    {
        "cep": "01414-001",
        "logradouro": "Rua Haddock Lobo",
        "bairro": "Cerqueira César",
        "localidade": "São Paulo",
        "uf": "SP",
        "ibge": "3550308"
    }
    
$cepInfo = $cep->toArray();

$cepInfo->result();

    Array
    (
        [cep] => 01414-001
        [logradouro] => Rua Haddock Lobo
        [bairro] => Cerqueira César
        [localidade] => São Paulo
        [uf] => SP
        [ibge] => 3550308
    )
    
$cepInfo = $cep->toObject();
    
$cepInfo->result();
    
    stdClass Object
    (
        [cep] => 01414-001
        [logradouro] => Rua Haddock Lobo
        [bairro] => Cerqueira César
        [localidade] => São Paulo
        [uf] => SP
        [ibge] => 3550308
    )
    
$cepInfo = $cep->toXml();

$cepInfo->result();
    
    <?xml version="1.0" encoding="utf-8"?>
    <xmlcep>
    	<cep>01414-001</cep>
    	<logradouro>Rua Haddock Lobo</logradouro>
    	<bairro>Cerqueira César</bairro>
    	<localidade>São Paulo</localidade>
    	<uf>SP</uf>
    	<ibge>3550308</ibge>
    </xmlcep>
    
$cepInfo = $cep->toSimpleXml();

$cepInfo->result();

    SimpleXMLElement Object
    (
        [cep] => 01414-001
        [logradouro] => Rua Haddock Lobo
        [bairro] => Cerqueira César
        [localidade] => São Paulo
        [uf] => SP
        [ibge] => 3550308
    )
    
$cepInfo = $cep->toPiped();
    
$cepInfo->result();
    
    cep:01414-001|logradouro:Rua Haddock Lobo|bairro:Cerqueira César|localidade:São Paulo|uf:SP|ibge:3550308
    
$cepInfo = $cep->toQuerty();
    
$cepInfo->result();
    
    cep=01414-001&logradouro=Rua+Haddock+Lobo&bairro=Cerqueira+C%C3%A9sar
        &localidade=S%C3%A3o+Paulo&uf=SP&ibge=3550308
        

Para verificar se aconteceu erros faça:


$cep = Cep::find('01414000');

$cepInfo = $cep->toSimpleXml();


if ($cepInfo->passed())
{

    return $dados->result();

}
else
{

    return 'Cep não encontrado';

}

Na versão 2.0.1 foi adiconado o recurso de busca por endereço:

##Como usar?

Para usar a busca passe a UF, Cidade e o Logradouro (sendo que Cidade e Logradoura no minimo 3 letras)

####Facade

$endereco = Endereco::find(UF::SAO_PAULO, 'São Paulo', 'Rua Fro');

####Application (version 1.* e 2.*)

$endereco = app('Endereco')->find(UF::SAO_PAULO, 'São Paulo', 'Rua Fro');

####Injection (version 2.*)

Route::get("endereco", function(Canducci\Cep\Contracts\IEndereco $c)
{
    $endereco = $c->find(UF::SAO_PAULO, 'São Paulo', 'Rua Fro')
});

####Function (version 2.*)

$endereco = endereco(UF::SAO_PAULO, 'São Paulo', 'Rua Fro');

###Tipos retornados de endereço são JSON e ARRAY:

####Json:

$d = app('Endereco')->find(SAO_PAULO, 'São Paulo', 'Rua Fro');
$d->toJson()->result();

####Array:

$d = app('Endereco')->find(SAO_PAULO, 'São Paulo', 'Rua Fro');
$d->toArray()->result();