Módulo em Zend Framework 2 para consulta CEP + Cache em ORM Doctrine
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 17 commits ahead, 14 commits behind Infanatica:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
src/BrzCepModule
view/brz-cep-module/cep
Module.php
README.md
autoload_classmap.php
composer.json
table.sql
teste

README.md

BrzCepModule

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

ViaCEP

Postmon

Correio Control

Republica Virtual

Desenvolvido por

Felipe Braz (https://www.braz.pro.br/blog/)

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