macromindonline / zipcode
巴西邮政编码
Requires
- php: >=5.3.0
- guzzlehttp/guzzle: ~5.0
- laravel/framework: ~5.0
Requires (Dev)
- phpspec/phpspec: ~2.1
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-18 03:14:21 UTC
README
由 http://viacep.com.br/ 提供的 Web 服务
演示
快速开始
所需设置
在 composer.json 文件的 require 键中添加以下内容
"canducci/zipcode": "1.*"
运行 Composer 更新命令
$ composer update
在您的 config/app.php 中,将 'Canducci\ZipCode\Providers\ZipCodeServiceProvider' 和 'Canducci\ZipCode\Providers\ZipCodeAddressServiceProvider' 添加到 providers 数组的末尾
'providers' => array( ..., Canducci\ZipCode\Providers\ZipCodeServiceProvider::class, Canducci\ZipCode\Providers\ZipCodeAddressServiceProvider::class, ),
在 config/app.php 的末尾添加 'ZipCode' => 'Canducci\ZipCode\Facade\ZipCode' 并将 'Address' => 'Canducci\ZipCode\Facades\ZipCodeAddress' 添加到 aliases 数组中
'aliases' => array( ..., 'ZipCode' => Canducci\ZipCode\Facades\ZipCode::class, 'Address' => Canducci\ZipCode\Facades\ZipCodeAddress::class, ),
## 使用方法
使用非常简单,传递 ZIP 并调用各种类型的返回值,例如
Package ZipCode
## Facade
添加命名空间
use Canducci\ZipCode\Facades\ZipCode;
代码示例
$zipCodeInfo = ZipCode::find('01414-001');
## 助手
$zipCodeInfo = zipcode('01414000');
## 注入 添加命名空间
use Canducci\ZipCode\Contracts\ZipCodeContract;
代码示例
public function index(ZipCodeContract $zipcode) { $zipCodeInfo = $zipcode->find('01414000');
## 特性 添加命名空间
use Canducci\ZipCode\ZipCodeTrait;
代码示例
class WelcomeController extends Controller { use ZipCodeTrait; public function index() { $zipCodeInfo = $this->zipcode('01414000');
使用方法总结
代码
$zipCodeInfo = ZipCode::find('01414000', false); //Facade $zipCodeInfo = $zipcode->find('01414000', false); //Contracts $zipCodeInfo = zipcode('01414000', false); // Helper $zipCodeInfo = $this->zipcode('01414000', true); //Traist
返回值
返回值可以是 null 或类实例 ZipCodeInfo (Canducci\ZipCode\ZipCodeInfo)
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 ) }
## 从缓存中刷新项目
$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
注意:遵循 ZipCode 的相同编码方式
### 添加到 UF 列表
use Canducci\ZipCode\ZipCodeUf;
$lists = ZipCodeUf::lists();
### 搜索特定城市、uf 和地址的所有邮编
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]); }