php além da universidade

Post on 03-Aug-2015

57 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Além da universidadeDaniel Archer

Maio/2015

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

Diferenças de MercadoSoftware House / inCompany

Software House

Software House

Websites

Portais

E-commerce

Blogs

Hotsites

Extranets

inCompany

inCompany

Intranet

CRM

ERP

Sistemas DiferentesAbordagens diferentes

Escolha apenas 2

Rápido

BomBarato

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

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?

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

Resolução de Problemas

Cada tecnologia tem como objetivo resolver um ou mais problemas.

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

• 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

• Map resource URIs to callback functions

• That’s it.

Tecnologias UtilizadasNo mundo real, o que é mais utilizado

Fullstack

Fullstack

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

Micro-frameworks

Micro-frameworks

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

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

Carreira PHP

https://github.com/abraphp/CarreiraPHP

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.

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

Boas PráticasO que fazer e o que evitar.

Tópicos interessantes

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

Clean Code Object Calisthenics

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

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

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

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

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

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

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

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

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

top related