O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

cakephp 3.0 o bolo ainda serve muita gente

476 visualizações

Publicada em

PHP em alta como nunca, frameworks cada vez mais em alta, componetização e tudo mais, sera que ainda tem lugar para o CakePHP? A resposta vocês vão saber nessa palestra, vamos conhecer a versão 3 desse framework que tem suas caracteristicas ageis e simplificadas, agora tentando se enquadrar no mercado dos gigantes.

Publicada em: Educação
  • Seja o primeiro a comentar

cakephp 3.0 o bolo ainda serve muita gente

  1. 1. O BOLO AINDA SERVE MUITA GENTE 1
  2. 2. OPA! Sou o Waldemar Neto Me siga na deepweb @waldemarnt blog: http://walde.co/ 2
  3. 3. UM POUCO SOBRE MIM ▸ Gaucho de Pelotas ▸ Desenvolvedor a mais de 6 anos ▸ Focado em web/api’s ▸ Palestrante sempre que possível ▸ Colaborador do iMasters e mantenho meu próprio blog ▸ Colaborador open-source 3
  4. 4. ONDE EU TRABALHO Pelotas Earlang Argentina CONRAD CAINE 4 Munich
  5. 5. O CAKEPHP E EU Desde a versão 1.x e enquanto for feliz Um pouco da história NA VIDA CAKEDC ▸ Projetos próprios ▸ Apis ▸ Sites institucionais ▸ Sistemas ▸ Estruturação ▸ Suporte ao open-source ▸ Consultoria ▸ Entendimento melhor do foco e do domínio 5
  6. 6. O BOLO DE PHP 6
  7. 7. “Rapid development php framework. 7
  8. 8. PRINCIPAIS DIFERENÇAS DESSE BOLO ▸ Criação rápida ▸ Configuração simples ▸ Uma grande lista de ingredientes já inclusos ▸ MVC amigável e uma boa abstração ▸ Proteções atuais necessárias ▸ Geração de código inteligente 8
  9. 9. NOVA VERSÃO ESTÁVEL 1.x 2.x 3.x 9
  10. 10. MÃO NA MASSA A RECEITA PARA A VERSÃO 3.X 10
  11. 11. PREPARANDO A MASSA 11
  12. 12. ESTRUTURA PSR-4 12
  13. 13. ANALISANDO O RECHEIO É hora de pôr o dedo no bolo 13
  14. 14. POR DENTRO DO CONSOLE ▸ Framework próprio para criação de shell script integrado com o cli do PHP ▸ Integração com a aplicação ▸ Criação de tasks reutilizáveis entre os shell scripts 14
  15. 15. Estrutura CONTROLLERS E COMPONENTS 15
  16. 16. Como o controller funciona HMM.. OS CONTROLLERS TEM GOSTO DE QU´E? REQUEST ACTION/REQUEST PROCCESS RESPONSE Controller AppController ExamplesController Exemplo de hierarquia Exemplo de requisição 16
  17. 17. Reutilizando logica de controller com components CONTROLLER COM UMA PITADA DE COMPONENTS 17 ▸ Divisão de lógica entre controllers ▸ Sobreescrita de components ja existentes
  18. 18. Os ingredientes que formam o Model. ISSO TEM CHEIRO DE MODEL? 18
  19. 19. Características da Table. UMA PITADA DE TABLE ▸ Classe relacionada à tabela do banco de dados ▸ Validação de dados ▸ Callbacks ▸ Behaviors 19
  20. 20. Caracteristicas da Entity. UMA PITADA DE ENTITY ▸ Representação do domínio na aplicação ▸ Criados a cada vez que a table busca dados ▸ Acessos e modificadores ▸ Propriedades virtuais ▸ Acesso a erros dos validators da table ▸ Facilidade em transformar os dados para json 20
  21. 21. Caracteristicas do Behavior. E AGORA UM POUCO DE BEHAVIOR ▸ Reuso de lógica entre entidades similar a Traits ▸ Facilidade em aplicar regras a multiplas entidades ▸ Facilidade de escutar callbacks de varias entidades ▸ Aplicação de lógicas on the fly ▸ Adição de relacionamentos ▸ Possibilidade de metodos que podem ser sobre escritos 21
  22. 22. O PRÓPRIO ORM ▸ Inconsistências ▸ Falta de query objects ▸ Arrays como retorno ▸ Containable ▸ Recursividade ▸ Validações PROBLEMAS QUE FORAM SOLUCIONADOS 22
  23. 23. O PRÓPRIO ORM ▸ Novo Design ▸ Novos callbacks ▸ Cache mais inteligente ▸ Events ▸ Query objects ▸ Entidades como objetos AS VANTAGENS 23
  24. 24. O PRÓPRIO ORM ▸ Relacionamentos como métodos ▸ Metodo de initialize ▸ Remoção de virtualFields ▸ Remoção do callback de afterFind PONTOS IMPORTANTES 24
  25. 25. RELACIONAMENTOS Entre Modelos 25
  26. 26. OS DIVERSOS TIPOS DE RELACIONAMENTOS VARIOS ARTIGOS belongsTo (pertencem) A UM AUTORUM ARTIGO hasMany (tem varios) COMENTARIOS E COMENTARIOS NÃO APROVADOSUM USUÁRIO hasOne (tem um) ENDEREÇOVÁRIOS ARTIGOS belongsToMany(pertencem a vários) ENDEREÇOS 26
  27. 27. COBERTURA COM TEMPLATES E VIEWS ▸ Abstração de HTML com PHP ▸ Helpers para as mais diversas necessidades de view ▸ Blocos e elementos ▸ Layouts ▸ Views para XML e Json ▸ ViewBuilder para administrar as propriedades relacionadas a view 27
  28. 28. COMO AS VIEWS FUNCIONAM 28
  29. 29. ASSANDO COM O CONSOLE 29
  30. 30. O CONSOLE 30
  31. 31. BOLOS RÁPIDOS COM O BAKE GERAÇÃO DE CÓDIGOS 31
  32. 32. BOLOS RÁPIDOS COM O BAKE O COMANDO BAKE ALL 32
  33. 33. PLUGIN DE SCAFFOLDING 33
  34. 34. PLUGIN DE ACL 34
  35. 35. SÓ MISTURAR COM LEITE E USAR PLUGINS E COMPONENTS PRONTOS QUE AGILIZAM NOSSO TRABALHO 35
  36. 36. ROUTER MAPEANDO URLs DE BARBADA ▸ Mapeamento por array ▸ Aplicação de regras e possibilidade de ter classe propria ▸ Suporte a regex ▸ Rotas nomeadas ▸ Suporte a prefixos 36
  37. 37. INTERNACIONALIZAÇÃO E LOCALIZAÇÃO ▸ Configuração via .po ▸ i18n com prefixos para linguagens ▸ Tranformação de datas e moedas baseadas na localização ▸ Suporte a plural e singular em multi-linguagem 37
  38. 38. EVENT DISPATCHER/LISTENER 38
  39. 39. MIGRATIONS DE BANCO DE DADOS ▸ Wrapper to PHINX ▸ Criação de migrações especificas ▸ Possibilidade de rollback ▸ Callbacks antes e depois de rodar 39
  40. 40. BUGIGANGAS QUE AJUDAM NO NOSSO DIA A DIA ▸ Caching ▸ CakeEmail ▸ Folder e File ▸ Hash ▸ Inflector ▸ Logging ▸ CakeNumber ▸ Security ▸ Set ▸ XML ▸ CakeTime 40
  41. 41. A COMPARAÇÃO QUE O CARA DE BARBA DA TERCEIRA FILA VAI PERGUNTAR 41
  42. 42. FINALIZANDO... ▸ Entenda sua necessidade ▸ Use o framework seguindo a documentação ▸ Não faça comparações incomparáveis ▸ Use filtro solar 42
  43. 43. OBRIGADO A TODOS E CAMIGOAL! Perguntas? Meu nick na deepweb é @waldemarnt , me segue lá. Meu blog é: http://walde.co/ 43

×