1. CAKEPHP COM
SOTAQUE BRASILEIRO
PHP SC Conf 2010 Juan Basso (@jrbasso)
2. 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
4. 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
6. 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
8. 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
9. 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
10. 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'));
11. 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
12. 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
13. Estados Brasileiros
Model EstadoBrasileiro
Listados estados (sigla e nome)
Nome do estado através da sigla
Sigla através do nome
Estados por região (sul, sudeste, ...)
Helper Estados
Montauma select com os estados
Opção de mostrar apenas as siglas
14. 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
15. 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
16. 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