Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CakePHP com sotaque brasileiro

CakePHP com sotaque brasileiro

Apresentação sobre CakePHP usando localização para o Brasil.

Apresentado na conferência PHP SC de 2010.

Juan Basso

August 26, 2010
Tweet

Other Decks in Technology

Transcript

  1. Quem sou eu?  Formado em Ciências da Computação –

    UDESC  Analista de Sistema da Dígitro – Fpolis/SC  Desenvolvedor do núcleo do CakePHP  Desenvolvedor de vários plugins para o CakePHP:  MeioUpload  SuperFind  Migrations  Localized  Datasources
  2. CakePHP  Framework PHP mais popular  Similar ao Zend,

    mas não é fracamente acoplado  Também utiliza MVC, reuso, etc.  Versão estável ainda suporta PHP 4  Nova versão só PHP 5.2 em diante  Possui facilidades no núcleo, particularidades em plugins  Plugin é um grande ponto forte
  3. Sobre o CakePtbr  Plugin para CakePHP 1.2 e 1.3

     Gratuito (licença MIT)  Site: http://github.com/jrbasso/cake_ptbr  Demo: http://github.com/jrbasso/cake_ptbr_demo  Dúvidas: http://groups.google.com/group/cakephp-pt  Objetivo: facilitar o uso de recursos usados no Brasil no CakePHP  Todas as funcionalidades com testes e documentação
  4. Tradução das Mensagens do Core  Traduzir as frases geradas

    pelo core  Páginas de erro ficam em português  Console fica em português  Não está completamente traduzido  Não afeta nenhuma funcionalidade do core
  5. Bake em Português  Ao gerar o bake os arquivos

    saem em português  Tenta colocar acento nas palavras  Exemplo: se gerar um controller chamado Comunicacoes ele irá gerar as frases usando a palavra Comunicação ou Comunicações.  “Comunicação inválido.” => Falha para palavras femininas  Basta ter o plugin na aplicação que isso funcionará automaticamente
  6. Ajuste de Data  Behavior AjusteData  Converte data no

    formato dd/mm/aaaa em aaaa-mm-dd  Útil para quando você preenche a data na view no formato brasileiro e deseja salvar no banco  Não faz o inverso! Ou seja, não altera o valor vindo do banco  Configuração simples:  var $actsAs = array('CakePtbr.AjusteData');  var $actsAs = array('CakePtbr.AjusteData' => 'campo_data');  var $actsAs = array('CakePtbr.AjusteData' => array('publicado', 'informado'));
  7. Ajuste de Data (continuação)  Helper Formatacao  Possui métodos

    para formatação  Métodos para manipulação de datas:  Formatacao::data($data)  Formata uma data timestamp em dd/mm/aaaa  Formatacao::dataHora($data, $segundos)  Idem anterior, mas com horário  Formatacao::dataCompleta($dataHora)  Descreve uma data  Exemplo: Sábado, 28 de agosto de 2010, 13:00:00
  8. Ajuste de Números  Behavior AjusteFloat  Similar ao AjusteData,

    mas para floats  Exemplo: converte de 1.200,10 para 1200.10  Helper Formatacao  Formatacao::precisao($numero, $casasDecimais = 3)  Exibe um valor numérico. Exemplo: de 1200.10 para 1.200,10  Formatacao::porcentagem($numero, $casasDecimais = 2)  Idem anterior com % no final. Exemplo: 10,25%  Formatacao::moeda($valor, $opcoes = array())  Formata em reais. Exemplo: R$ 10.000,00  Formatacao::moedaPorExtenso($numero)  Formata o valor em reais. Exemplo: dez mil reais
  9. Estados Brasileiros  Model EstadoBrasileiro  Lista dos estados (sigla

    e nome)  Nome do estado através da sigla  Sigla através do nome  Estados por região (sul, sudeste, ...)  Helper Estados  Monta uma select com os estados  Opção de mostrar apenas as siglas
  10. Integração com os Correios  Behavior Correios  Possibilidade de

    calcular frete via webservice  Calculo de Sedex, Sedex a cobrar, Sedex 10, E-Sedex, Encomenda normal, PAC  Informa valores de mão própria, tarifa do valor declarado, frete e total  Informa se é capital ou interior  Verificar endereço através do CEP  Mostra o logradouro, bairro, cidade e UF
  11. Usar tabelas em português  Alteração das regras de inflexão

    (Inflection)  Inglês: tabela compradores, model Compradore  Português: tabela compradores, model Comprador
  12. Validações  Behavior Validacao (disponível apenas na versão 1.2) 

    Validação de CEP, CPF, CNPJ, CPF/CNPJ e telefone  No CakePHP 1.3 usar o plugin Localized  Métodos: postal, cpf, cnpj, ssn e phone