巴西CEP Web Service ViaCep (https://viacep.com.br)

v3.1.1 2020-09-10 15:11 UTC

This package is auto-updated.

Last update: 2024-09-23 06:53:40 UTC


README

巴西CEP - Web Service https://www.viacep.com.br

Version Downloads PHP Composer License

配置版本V2 - 点击此处

安装包

composer require canducci/cep

配置

1) Laravel

如果您使用的是 Framework Laravel,请按照以下步骤进行安装后的配置。

  1. 进入 app/config 文件夹中的 app.php 文件。

  2. 在文件中查找 providers 数组。

  3. 在列表末尾添加 provider,例如:

    'providers' => [
        ...
        Canducci\Cep\Providers\CepServiceProvider::class
    ]
  4. 在同一文件(app.php)中配置别名(Facades),例如:

    'aliases' => [
        ...
        'Cep' => Canducci\Cep\Facades\Cep::class,
        'Endereco' => Canducci\Cep\Facades\Endereco::class
    ]
  5. 如何使用?

    5.1 使用依赖注入

    Route::get('/cep', function(\Canducci\Cep\Cep $cep){
        $cepResponse = $cep->find('01010000');
        $data = $cepResponse->getCepModel();
        return response()->json($data);
    });
    
    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 使用Laravel Facade

    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 使用 function(函数)

    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);
     });
  6. 满意答复

    6.1 - 使用 isOk() 方法检查是否真正接收到了数据

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

    并且数据可以通过方法或属性恢复,例如

     $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 - 错误的数据

    6.2.1 - 在 Cep 中,输入的值必须具有以下格式之一

    • 01010000,或者
    • 01010-000

    为了获得满意答复,否则将抛出异常。

    6.2.2 - 在 Endereco 中,输入的值应遵循以下规则

    • Uf 使用2个字母
    • 城市至少有3个字母
    • 街道至少有3个字母

    否则将抛出异常。

2) 使用 composer.phar 的任何代码
λ php composer.phar require canducci/cep

之后,在您的代码中包含 vendor 文件夹中的 autoload.php,例如:

<?php

  require_once 'vendor/autoload.php';

  $cepResponse = cep('01010000');
  $data = $cepResponse->getCepModel();
  echo json_encode($data);