2017 © Pedro Peláez
 

library brz-cep-module

Modulo em Zend Framework 2 para consulta de endereco via CEP

image

fbraz3/brz-cep-module

Modulo em Zend Framework 2 para consulta de endereco via CEP

  • Friday, March 24, 2017
  • by fbraz3
  • Repository
  • 1 Watchers
  • 0 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

BrzCepModule

Módulo em Zend Framework 2 para consulta de endereço via CEP com cache em banco de dados, (*1)

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, (*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:, (*3)

     "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, (*4)

    $ 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, (*5)

    php composer.phar require fbraz3/infanatica-cep-module dev-master

Após a Instalação

Adicionar ao seu arquivo application.config.php, (*6)

    <?php
    return array(
        'modules' => array(
            // ...
            'BrzCepModule',
        ),
        // ...
    );

Executar em seu banco de dados o arquivo table.sql, (*7)

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, (*8)

http[s]://domain/cep/21041020, (*9)

http[s]://domain/cep/NUMERO_DO_CEP/FORMATO_DE_SAIDA, (*10)

http[s]://domain/cep/21041020/json, (*11)

http[s]://domain/cep/21041020/xml, (*12)

Referências dos Adapters de pesquisa de CEP

ViaCEP, (*13)

Postmon, (*14)

Correio Control, (*15)

Republica Virtual, (*16)

Desenvolvido por

Felipe Braz (https://braz.dev/blog/), (*17)

Baseado no projeto [InfanaticaCepModule] (https://github.com/Infanatica/InfanaticaCepModule), (*18)

The Versions