CANDUCCI ZIPCODE
Web Service provided by http://viacep.com.br/, (*1)
, (*2)
, (*3)
Demo
Demo Canducci ZipCode, (*4)
Quick start
Required setup
In the require key of composer.json file add the following, (*5)
"canducci/zipcode": "1.*"
Run the Composer update comand, (*6)
$ composer update
In your config/app.php add 'Canducci\ZipCode\Providers\ZipCodeServiceProvider' and 'Canducci\ZipCode\Providers\ZipCodeAddressServiceProvider' to the end of the providers array:, (*7)
'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:, (*8)
'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:, (*9)
Package ZipCode, (*10)
Facade
Add namespace:, (*11)
use Canducci\ZipCode\Facades\ZipCode;
Code Example, (*12)
$zipCodeInfo = ZipCode::find('01414-001');
Helper
$zipCodeInfo = zipcode('01414000');
Injection
Add Namespace, (*13)
use Canducci\ZipCode\Contracts\ZipCodeContract;
Code Example, (*14)
public function index(ZipCodeContract $zipcode)
{
$zipCodeInfo = $zipcode->find('01414000');
Traits
Add Namespace, (*15)
use Canducci\ZipCode\ZipCodeTrait;
Code Example, (*16)
class WelcomeController extends Controller {
use ZipCodeTrait;
public function index()
{
$zipCodeInfo = $this->zipcode('01414000');
Summary of How to Use
Code, (*17)
$zipCodeInfo = ZipCode::find('01414000', false); //Facade
$zipCodeInfo = $zipcode->find('01414000', false); //Contracts
$zipCodeInfo = zipcode('01414000', false); // Helper
$zipCodeInfo = $this->zipcode('01414000', true); //Traist
Return, (*18)
The return can be null or class instance ZipCodeInfo (Canducci\ZipCode\ZipCodeInfo), (*19)
Methods ZipCodeInfo:, (*20)
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
}
}
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
)
}
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, (*21)
Obs: follows the same coding of ZipCode, (*22)
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]);
}