php além da universidade

44
Além da universidade Daniel Archer Maio/2015

Upload: daniel-archer

Post on 03-Aug-2015

57 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: PHP Além da universidade

Além da universidadeDaniel Archer

Maio/2015

Page 2: PHP Além da universidade

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

Page 3: PHP Além da universidade

Diferenças de MercadoSoftware House / inCompany

Page 4: PHP Além da universidade

Software House

Page 5: PHP Além da universidade

Software House

Websites

Portais

E-commerce

Blogs

Hotsites

Extranets

Page 6: PHP Além da universidade

inCompany

Page 7: PHP Além da universidade

inCompany

Intranet

CRM

ERP

Page 8: PHP Além da universidade

Sistemas DiferentesAbordagens diferentes

Page 9: PHP Além da universidade

Escolha apenas 2

Rápido

BomBarato

Page 10: PHP Além da universidade

TestesAutomatizados ou não, são necessários.

Page 11: PHP Além da universidade
Page 12: PHP Além da universidade

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?

Page 13: PHP Além da universidade

Ninguém é dono da verdadeNão existe melhor tecnologia

Page 14: PHP Além da universidade

Resolução de Problemas

Cada tecnologia tem como objetivo resolver um ou mais problemas.

Algumas resolvem muitos, outras são extremamente específicas.

Page 15: PHP Além da universidade

• Zend\Authentication• Zend\Barcode• Zend\Cache• Zend\Captcha• Zend\Code\Generator• Zend\Config• Zend\Console• Zend\Console\Getopt• Zend\Crypt• Zend\Db• Zend\Debug• Zend\Di• Zend\Dom• Zend\Escaper• Zend\EventManager• Zend\Feed• Zend\File• Zend\Filter• Zend\Form• Zend\Http• Zend\I18n• Zend\InputFilter• Zend\Json• Zend\Ldap• Zend\Loader

• Zend\Log• Zend\Mail• Zend\Math• Zend\Memory• Zend\Mime• Zend\ModuleManager• Zend\Mvc• Zend\Navigation• Zend\Paginator• Zend\Permissions\Acl• Zend\Permissions\Rbac• Zend\ProgressBar• Zend\Serializer• Zend\Server• Zend\ServiceManager• Zend\Session• Zend\Soap• Zend\Stdlib• Zend\Tag• Zend\Test• Zend\Text• Zend\Uri• Zend\Validator• Zend\Version• Zend\View• Zend\XmlRpc

Page 16: PHP Além da universidade

• Map resource URIs to callback functions

• That’s it.

Page 17: PHP Além da universidade

Tecnologias UtilizadasNo mundo real, o que é mais utilizado

Page 18: PHP Além da universidade
Page 19: PHP Além da universidade

Fullstack

Page 20: PHP Além da universidade

Fullstack

• Aplicações grandes• Regras de negócios complexas• Equipe madura• Padronização forçada

Page 21: PHP Além da universidade

Micro-frameworks

Page 22: PHP Além da universidade

Micro-frameworks

• Aplicações Simples• APIs• Integração• Padronização manual

Page 23: PHP Além da universidade

CargosAtribuições técnicas de juniores, plenos e seniores.

Page 24: PHP Além da universidade

Carreira PHP

https://github.com/abraphp/CarreiraPHP

Page 25: PHP Além da universidade

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.

Page 26: PHP Além da universidade

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

Page 27: PHP Além da universidade

Boas PráticasO que fazer e o que evitar.

Page 28: PHP Além da universidade
Page 29: PHP Além da universidade
Page 30: PHP Além da universidade
Page 31: PHP Além da universidade
Page 32: PHP Além da universidade

Tópicos interessantes

S.O.L.I.D. Design Patterns

Clean Code Object Calisthenics

Page 33: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 34: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 35: PHP Além da universidade
Page 36: PHP Além da universidade
Page 37: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 38: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 39: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 40: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 41: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 42: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 43: PHP Além da universidade

Object Calisthenics

1. Um nível de indentação por método.2. Não utilize else3. Encapsule os tipos primitivos4. Apenas um -> por linha5. Não Abrevie6. Mantenha suas classes pequenas7. Limite o número de Atributos8. Utilize Coleções9. Use Getters e Setters

Page 44: PHP Além da universidade