fbraz3 / brz-cep-module
Modulo em Zend Framework 2 para consulta de endereco via CEP
Requires
- php: >=5.3.3
- doctrine/doctrine-orm-module: 0.*
- zendframework/zend-authentication: ~2.1
- zendframework/zend-http: ~2.1
- zendframework/zend-loader: ~2.1
- zendframework/zend-modulemanager: ~2.1
- zendframework/zend-mvc: ~2.1
- zendframework/zend-servicemanager: ~2.1
- zendframework/zend-stdlib: ~2.1
- zendframework/zend-view: ~2.1
This package is auto-updated.
Last update: 2024-12-25 09:28:47 UTC
README
Módulo em Zend Framework 2 para consulta de endereço via CEP com cache em banco de dados
Pré-Requisitos
- É necessário que o ORM [Doctrine] (http://www.doctrine-project.org/) esteja instalado em seu projeto zend.
- Seu orm deve responder através do serviceLocator por 'doctrine.entitymanager.orm_default'
Diferenciais do módulo
- Retorno padrão em json (sem necessidade de parâmetros adicionais)
- Usa o banco de dados para cache de query.
To-Do
- Round Robin entre os webservices disponíveis
- Contingência em caso de falha na resposta de algum webservice
Instalação
Instalação via clone
Clonar o projeto BrzCepModule na pasta "./vendor" ou "./module" no seu projeto em Zend Framework 2
$ cd PASTA_DO_SKELETON_DO_ZEND_FRAMEWORK2 $ cd vendor $ git clone https://github.com/fbraz3/BrzCepModule.git
Instalação via composer
Adicionar o projeto BrzCepModule no seu composer.json:
"repositories": [ { "type": "git", "url": "https://github.com/fbraz3/BrzCepModule" } ], "require": { "fbraz3/brz-cep-module": "dev-master" },
Executar o comando "update" ou "install" do composer para fazer download do BrzCepModule
$ php composer.phar update
Método 2
Executar o comando "require" do composer para atualizar o seu composer.json e efetuar o download do BrzCepModule
php composer.phar require fbraz3/infanatica-cep-module dev-master
Após a Instalação
Adicionar ao seu arquivo application.config.php
<?php return array( 'modules' => array( // ... 'BrzCepModule', ), // ... );
Executar em seu banco de dados o arquivo table.sql
Utilização do Service
Exemplo no \Application\Controller\InderController
<?php //... class IndexController extends AbstractActionController { public function indexAction() { $cep = '21041020'; // Possíveis formatos (json, xml, query, object, array) // null = \BrzCepModule\Response\EnderecoResponse $formato = 'json'; $serviceLocator = $this->getServiceLocator(); $cepService = $serviceLocator->get('BrzCepModule\Service\CepService'); $endereco = $cepService->getEnderecoByCep($cep,$formato); var_dump($endereco); return new ViewModel(); } //...
Utilização do Controller
Exemplos de rota para:
\BrzCepModule\Controller\CepController
http[s]://domain/cep/NUMERO_DO_CEP
http[s]://domain/cep/21041020
http[s]://domain/cep/NUMERO_DO_CEP/FORMATO_DE_SAIDA
http[s]://domain/cep/21041020/json
http[s]://domain/cep/21041020/xml
Referências dos Adapters de pesquisa de CEP
Desenvolvido por
Felipe Braz (https://braz.dev/blog/)
Baseado no projeto [InfanaticaCepModule] (https://github.com/Infanatica/InfanaticaCepModule)