PHP Além da universidade

502 visualizações

Publicada em

PHP, o mundo da programação além do aprendizado da universidade.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

PHP Além da universidade

  1. 1. Além da universidade Daniel Archer Maio/2015
  2. 2. Quem sou eu Formado pelo Senac em 2011 Palestrante da PHP Conference Brasil 5 Anos de experiência em PHP Atualmente analista de sistemas na Servicoop
  3. 3. Diferenças de Mercado Software House / inCompany
  4. 4. Software House
  5. 5. Software House Websites Portais E-commerce Blogs Hotsites Extranets
  6. 6. inCompany
  7. 7. inCompany Intranet CRM ERP
  8. 8. Sistemas Diferentes Abordagens diferentes
  9. 9. Escolha apenas 2 Rápido BomBarato
  10. 10. Testes Automatizados ou não, são necessários.
  11. 11. Testes • Testar entradas – Seu usuário vai escrever errado • Testar qual o comportamento – Em diferentes situações • Mensagens de erro – Provoque todas as mensagens • Elas são compreensíveis para a pessoa que vai utilizar o software?
  12. 12. Ninguém é dono da verdade Não existe melhor tecnologia
  13. 13. Resolução de Problemas Cada tecnologia tem como objetivo resolver um ou mais problemas. Algumas resolvem muitos, outras são extremamente específicas.
  14. 14. • ZendAuthentication • ZendBarcode • ZendCache • ZendCaptcha • ZendCodeGenerator • ZendConfig • ZendConsole • ZendConsoleGetopt • ZendCrypt • ZendDb • ZendDebug • ZendDi • ZendDom • ZendEscaper • ZendEventManager • ZendFeed • ZendFile • ZendFilter • ZendForm • ZendHttp • ZendI18n • ZendInputFilter • ZendJson • ZendLdap • ZendLoader • ZendLog • ZendMail • ZendMath • ZendMemory • ZendMime • ZendModuleManager • ZendMvc • ZendNavigation • ZendPaginator • ZendPermissionsAcl • ZendPermissionsRbac • ZendProgressBar • ZendSerializer • ZendServer • ZendServiceManager • ZendSession • ZendSoap • ZendStdlib • ZendTag • ZendTest • ZendText • ZendUri • ZendValidator • ZendVersion • ZendView • ZendXmlRpc
  15. 15. • Map resource URIs to callback functions • That’s it.
  16. 16. Tecnologias Utilizadas No mundo real, o que é mais utilizado
  17. 17. Fullstack
  18. 18. Fullstack • Aplicações grandes • Regras de negócios complexas • Equipe madura • Padronização forçada
  19. 19. Micro-frameworks
  20. 20. Micro-frameworks • Aplicações Simples • APIs • Integração • Padronização manual
  21. 21. Cargos Atribuições técnicas de juniores, plenos e seniores.
  22. 22. Carreira PHP https://github.com/abraphp/CarreiraPHP
  23. 23. Júnior • Protocolo HTTP • GET, POST, UPDATE, DELETE, OPTION • SQL Básico • Configurações do PHP.INI • Noções de como funciona o APACHE • “plus” Conhecimento básico em algum framework.
  24. 24. Pleno • Domínio da Linguagem • SQL Avançado – triggers e functions • Configurações de Performance • Conhecimento médio de linux • Saber identificar e aplicar padrões de projeto – Factory, Adapter, Facede • Segurança • Conhecimentos sólidos em algum framework MVC • Conhecimento em noSQL
  25. 25. Boas Práticas O que fazer e o que evitar.
  26. 26. Tópicos interessantes S.O.L.I.D. Design Patterns Clean Code Object Calisthenics
  27. 27. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  28. 28. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  29. 29. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  30. 30. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  31. 31. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  32. 32. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  33. 33. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  34. 34. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters
  35. 35. Object Calisthenics 1. Um nível de indentação por método. 2. Não utilize else 3. Encapsule os tipos primitivos 4. Apenas um -> por linha 5. Não Abrevie 6. Mantenha suas classes pequenas 7. Limite o número de Atributos 8. Utilize Coleções 9. Use Getters e Setters

×