dev-master
9999999-dev https://github.com/fabiopaiva/DoctrineORMCidadesBrCrud, entidades e dados das cidades brasileiras
MIT
The Requires
- php >=5.3.3
- doctrine/doctrine-orm-module 0.*
by Fábio Paiva
zf2
Wallogit.com
2017 © Pedro Peláez
Crud, entidades e dados das cidades brasileiras
Oferece entidades, dados, formulario de endereço e um CRUD para edição de cidades do Brasil, (*1)
php composer.phar require fabiopaiva/doctrine-orm-cidades-br:dev-master
Habilite os módulos no application.config.php:, (*2)
<?php //
return array(
'modules' => array(
'DoctrineModule',
'DoctrineORMModule',
'DoctrineORMCidadesBr',
// .. Outros módulos
'Application'
),
...
Configure o Doctrine (atenção para o charset utf8) ex: doctrine.local.php, (*3)
<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'dbUser',
'password' => 'dbPass',
'dbname' => 'dbName',
'charset' => 'utf8'
)))));
Crie as tabelas no banco de dados, (*4)
vendor/bin/doctrine-module orm:schema-tool:update --dump-sql #se o comando acima exibir o Create Table para cidade, uf e endereço prossiga vendor/bin/doctrine-module orm:schema-tool:update --force unzip vendor/fabiopaiva/doctrine-orm-cidades-br/data/cidades.zip vendor/bin/doctrine-module dbal:import cidades.sql rm cidades.sql
Use as rotas, (*5)
<?php echo $this->url('cidades');?> para cidades
<?php echo $this->url('estados');?> para estados
Além de um CRUD para gerenciar os dados você pode usar as entidades do repositório, (*6)
DoctrineORMCidadesBr\Entity\Cidade DoctrineORMCidadesBr\Entity\Uf DoctrineORMCidadesBr\Entity\Endereco
Adicione o relacionamento em sua entidade, (*7)
/**
* @ORM\ManyToOne(targetEntity="DoctrineORMCidadesBr\Entity\Endereco", cascade={"persist","remove"})
* @var \DoctrineORMCidadesBr\Entity\Endereco
*/
protected $endereco;
$form = new Form(); // Zend Form
$endereco = new EnderecoForm('endereco', $serviceLocator);
$endereco->setLabel('Endereço');
$form->add($endereco);
Adicione os scripts para buscar cidade no formulário (Autocomplete), (*8)
//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js //code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css
Adicione o código, (*9)
$(document).ready(function(){ doctrineOrmCidadesBrAutoComplete(); });
function doctrineOrmCidadesBrAutoComplete(){$(".doctrine_orm_cidades_br_autocomplete").each(function(){var e=$(this).data("id");var t={};var n=$(this).data("source");$(this).autocomplete({source:function(e,r){var i=e.term;if(i in t){r(t[i]);return}$.getJSON(n,e,function(e,n,s){if(e.length==0){e.push({value:0,label:"Nada encontrado"})}t[i]=e;r(e)})},minLength:2,change:function(t,n){if(n.item){if(n.item.value==0&&n.item.label=="Nada encontrado"){n.item=null}}if(n.item==null){modalNotify("Selecione um item na lista","A cidade deve ser selecionada na lista");$("#"+e).val("");$(this).val("");return false}},select:function(t,n){if(n.item.value==0&&n.item.label=="Nada encontrado"){n.item=null;$("#"+e).val("");$(this).val("");modalNotify("Selecione um item na lista","A cidade deve ser selecionada na lista")}$("#"+e).val(n.item.value);$(this).val(n.item.label);return false}})})}
A busca pelo CEP usa o webservice http://cep.sigweb.net.br para utilizar outro Webservice sobrescreva:, (*10)
return array(
'doctrine-orm-cidades-br' => array(
'webserviceCep' => 'http://meuwebservice/%s'
),
);
paiva.fabiofelipe@gmail.com, (*11)
Crud, entidades e dados das cidades brasileiras
MIT
zf2