Web Service provided by http://viacep.com.br/
In the require
key of composer.json
file add the following
"canducci/zipcode": "1.*"
Run the Composer update comand
$ composer update
In your config/app.php
add 'Canducci\ZipCode\Providers\ZipCodeServiceProvider'
and 'Canducci\ZipCode\Providers\ZipCodeAddressServiceProvider'
to the end of the providers
array:
'providers' => array(
...,
Canducci\ZipCode\Providers\ZipCodeServiceProvider::class,
Canducci\ZipCode\Providers\ZipCodeAddressServiceProvider::class,
),
At the end of config/app.php
add 'ZipCode' => 'Canducci\ZipCode\Facade\ZipCode'
and add 'Address'
=> 'Canducci\ZipCode\Facades\ZipCodeAddress' to the aliases
array:
'aliases' => array(
...,
'ZipCode' => Canducci\ZipCode\Facades\ZipCode::class,
'Address' => Canducci\ZipCode\Facades\ZipCodeAddress::class,
),
##How to Use
To use is very simple, pass the ZIP and calls the various types of returns, like this:
Package ZipCode
##Facade
Add namespace:
use Canducci\ZipCode\Facades\ZipCode;
Code Example
$zipCodeInfo = ZipCode::find('01414-001');
##Helper
$zipCodeInfo = zipcode('01414000');
##Injection Add Namespace
use Canducci\ZipCode\Contracts\ZipCodeContract;
Code Example
public function index(ZipCodeContract $zipcode)
{
$zipCodeInfo = $zipcode->find('01414000');
##Traits Add Namespace
use Canducci\ZipCode\ZipCodeTrait;
Code Example
class WelcomeController extends Controller {
use ZipCodeTrait;
public function index()
{
$zipCodeInfo = $this->zipcode('01414000');
Code
$zipCodeInfo = ZipCode::find('01414000', false); //Facade
$zipCodeInfo = $zipcode->find('01414000', false); //Contracts
$zipCodeInfo = zipcode('01414000', false); // Helper
$zipCodeInfo = $this->zipcode('01414000', true); //Traist
Return
The return can be null or class instance ZipCodeInfo (Canducci\ZipCode\ZipCodeInfo
)
Methods ZipCodeInfo:
- Json =>
getJson()
if ($zipCodeInfo)
{
$zipCodeInfo->getJson();
{
"cep": "01414-001",
"logradouro": "Rua Haddock Lobo",
"bairro": "Cerqueira César",
"localidade": "São Paulo",
"uf": "SP",
"ibge": "3550308",
"complemento": ""
"gia": 1004
}
}
- Array =>
getArray()
if ($zipCodeInfo)
{
$zipCodeInfo->getArray();
Array
(
[cep] => 01414-001
[logradouro] => Rua Haddock Lobo
[bairro] => Cerqueira César
[localidade] => São Paulo
[uf] => SP
[ibge] => 3550308,
[complemento] =>
[gia] => 1004
)
}
- Object =>
getObject()
if ($zipCodeInfo)
{
$zipCodeInfo->getObject();
stdClass Object
(
[cep] => 01414-001
[logradouro] => Rua Haddock Lobo
[bairro] => Cerqueira César
[localidade] => São Paulo
[uf] => SP
[ibge] => 3550308
[complemento] =>
[gia] => 1004
)
}
##Renew item from cache
$zipCodeInfo = ZipCode::find('01414001', true);
if ($zipCodeInfo)
{
$zipCodeInfo->getObject();
stdClass Object
(
[cep] => 01414-001
[logradouro] => Rua Haddock Lobo
[bairro] => Cerqueira César
[localidade] => São Paulo
[uf] => SP
[ibge] => 3550308
[complemento] =>
[gia] => 1004
)
}
Package Address
Obs: follows the same coding of ZipCode
###To add to the list of UF:
use Canducci\ZipCode\ZipCodeUf;
$lists = ZipCodeUf::lists();
###To search for all zip of a particular city , uf and address
public function get(Request $request)
{
$uf = $request->get('uf');
$city = $request->get('cidade');
$address = $request->get('endereco')
$zipcodeaddressinfo = zipcodeaddress($uf,$city,$address);
if ($zipcodeaddressinfo)
{
return $zipcodeaddressinfo->getJson();
}
return Response::json(['error' => 1]);
}