canducci / cep
巴西CEP Web Service ViaCep (https://viacep.com.br)
v3.1.1
2020-09-10 15:11 UTC
Requires
- php: >=7.2.7
Requires (Dev)
- illuminate/support: 7.x-dev
- phpspec/phpspec: 6.1.1
- phpunit/phpunit: 8.5.2
This package is auto-updated.
Last update: 2024-09-23 06:53:40 UTC
README
巴西CEP - Web Service https://www.viacep.com.br
安装包
composer require canducci/cep
配置
1) Laravel
如果您使用的是 Framework
Laravel,请按照以下步骤进行安装后的配置。
-
进入
app/config
文件夹中的app.php
文件。 -
在文件中查找
providers
数组。 -
在列表末尾添加
provider
,例如:'providers' => [ ... Canducci\Cep\Providers\CepServiceProvider::class ]
-
在同一文件(
app.php
)中配置别名(Facades
),例如:'aliases' => [ ... 'Cep' => Canducci\Cep\Facades\Cep::class, 'Endereco' => Canducci\Cep\Facades\Endereco::class ]
-
如何使用?
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.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);