SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
CAKEPHP COM
        SOTAQUE BRASILEIRO




PHP SC Conf 2010   Juan Basso (@jrbasso)
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
CakePHP
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
CakePtbr
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
Funcionalidades
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
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
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'));
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
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
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
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
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
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
Roadmap
Roadmap
   Geração de boletos
   Integração com PagSeguro
   Integração com NFe
Dúvidas / Idéias ?
Contato
   Twitter: @jrbasso
   E-mail: jrbasso@gmail.com
   GitHub: http://github.com/jrbasso
   Ohloh: http://ohloh.net/accounts/jrbasso

Mais conteúdo relacionado

Destaque

Glosario de qbasic liliana
Glosario de qbasic lilianaGlosario de qbasic liliana
Glosario de qbasic lilianakhjhjhjh
 
Conceitos básicos de AEDS
Conceitos básicos de AEDSConceitos básicos de AEDS
Conceitos básicos de AEDSPablo Silva
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPAlmir Neto
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem Claudson Oliveira
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloelliando dias
 
Relações de recorrência
Relações de recorrênciaRelações de recorrência
Relações de recorrênciaPablo Silva
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoIvan Rosolen
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Trabalho cobol e basic
Trabalho cobol e basicTrabalho cobol e basic
Trabalho cobol e basicDaniel Carrara
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmosPablo Silva
 
LIVROPROPRIETÁRIO-ALGORITMOS
LIVROPROPRIETÁRIO-ALGORITMOSLIVROPROPRIETÁRIO-ALGORITMOS
LIVROPROPRIETÁRIO-ALGORITMOSOs Fantasmas !
 

Destaque (20)

Glosario de qbasic liliana
Glosario de qbasic lilianaGlosario de qbasic liliana
Glosario de qbasic liliana
 
Conceitos básicos de AEDS
Conceitos básicos de AEDSConceitos básicos de AEDS
Conceitos básicos de AEDS
 
Introdução ao PHP
Introdução ao PHPIntrodução ao PHP
Introdução ao PHP
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Dicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHPDicas para aumentar a performance de um software PHP
Dicas para aumentar a performance de um software PHP
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Funções em C
Funções em CFunções em C
Funções em C
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Linguagem C - Uniões
Linguagem C - UniõesLinguagem C - Uniões
Linguagem C - Uniões
 
CakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro boloCakePHP - Aprendendo a fazer o primeiro bolo
CakePHP - Aprendendo a fazer o primeiro bolo
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Relações de recorrência
Relações de recorrênciaRelações de recorrência
Relações de recorrência
 
CakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápidoCakePHP e o desenvolvimento rápido
CakePHP e o desenvolvimento rápido
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Trabalho cobol e basic
Trabalho cobol e basicTrabalho cobol e basic
Trabalho cobol e basic
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
Pilha dinâmica
Pilha dinâmicaPilha dinâmica
Pilha dinâmica
 
LIVROPROPRIETÁRIO-ALGORITMOS
LIVROPROPRIETÁRIO-ALGORITMOSLIVROPROPRIETÁRIO-ALGORITMOS
LIVROPROPRIETÁRIO-ALGORITMOS
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 

Semelhante a CakePHP com sotaque brasileiro

Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com phpbrenod123
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphihildebertomelo
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
Expressões Regulares - Final
Expressões Regulares - FinalExpressões Regulares - Final
Expressões Regulares - FinalJackson Veroneze
 
Django - Criando Aplicacoes Plugaveis
Django - Criando Aplicacoes PlugaveisDjango - Criando Aplicacoes Plugaveis
Django - Criando Aplicacoes PlugaveisMarinho Brandão
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutórialucasleite
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de phpTais Reis
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação WebDalton Martins
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoLuiz Junior
 
Python + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoPython + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoFernando Macedo
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)Kaoru Hatake
 

Semelhante a CakePHP com sotaque brasileiro (20)

Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphi
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Expressões Regulares - Final
Expressões Regulares - FinalExpressões Regulares - Final
Expressões Regulares - Final
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Django - Criando Aplicacoes Plugaveis
Django - Criando Aplicacoes PlugaveisDjango - Criando Aplicacoes Plugaveis
Django - Criando Aplicacoes Plugaveis
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
JavaScript - Aula Introdutória
JavaScript - Aula IntrodutóriaJavaScript - Aula Introdutória
JavaScript - Aula Introdutória
 
Php women oficina iniciante de php
Php women   oficina iniciante de phpPhp women   oficina iniciante de php
Php women oficina iniciante de php
 
M5 php rc
M5 php rcM5 php rc
M5 php rc
 
Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação Web
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Tw Course Ajax 2007 Ap05
Tw Course Ajax 2007 Ap05Tw Course Ajax 2007 Ap05
Tw Course Ajax 2007 Ap05
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Python + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certoPython + Delphi: Um relacionamento que está dando certo
Python + Delphi: Um relacionamento que está dando certo
 
Aula 1 linguagem html (1)
Aula 1   linguagem html (1)Aula 1   linguagem html (1)
Aula 1 linguagem html (1)
 

CakePHP com sotaque brasileiro

  • 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
  • 18. Roadmap  Geração de boletos  Integração com PagSeguro  Integração com NFe
  • 20. Contato  Twitter: @jrbasso  E-mail: jrbasso@gmail.com  GitHub: http://github.com/jrbasso  Ohloh: http://ohloh.net/accounts/jrbasso