Meu sobrinho faz
mais barato!
Seja um profissional PHP
Rafael Goulart
Slide 2
Slide 2 text
twitter@rgou
github rafaelgou
http://speakerdeck.com/u/rafaelgou
rafael goulart
http://tech.rgou.net
Slide 3
Slide 3 text
Sobrinho?
O que a família tem a ver
com a Tecnologia de
Informação??
Slide 4
Slide 4 text
“Tudo isso? Então prefiro
chamar o meu sobrinho. “
Seu futuro cliente sobre sobrinhos, após
ver o seu orçamento
Fonte: Desciclopédia
Slide 5
Slide 5 text
...e depois paga-se
mais para um profissional
consertar o negócio.
Slide 6
Slide 6 text
PHP é uma
LINGUAGEM DE PROGRAMAÇÃO...
... que interage com
VÁRIAS
TECNOLOGIAS
Slide 7
Slide 7 text
Domine tecnologias
( ferramentas, conhecimentos )
afins ao ecossistema
( área de atuação )
do PHP
Slide 8
Slide 8 text
Profissional PHP
conhece seu Ambiente
ou: diga onde programas
que eu te direi se te contrato
Slide 9
Slide 9 text
Linux
( Debian, Ubuntu, CentOS )
Apache2
( sempre )
PHP
( 5.2 – 5.3 – 5.4 )
Slide 10
Slide 10 text
Lê o MANUAL
ou: RTFM e RTFS!
Profissional PHP
Slide 11
Slide 11 text
Documentação sempre à mão
●
Linguagem
●
Banco de Dados
●
ORM
●
Template Engine
●
Bibliotecas, classes,
frameworks
... e o oráculo, evidentemente.
Slide 12
Slide 12 text
php.net/nome_funcao
Pesquisa rápida à documentação
Slide 13
Slide 13 text
Profissional PHP utiliza
Orientação a Objeto
ou: abstraia, abstraia
Slide 14
Slide 14 text
Paradigma de Programação
PADRÃO
para novos projetos em PHP
Slide 15
Slide 15 text
Orientação a Objeto em PHP
NÃO É AVANÇADO
É BÁSICO
Slide 16
Slide 16 text
NINGUÉM
em sã consciência
inicia um projeto GRANDE
em PHP estruturado
Slide 17
Slide 17 text
NINGUÉM
contrata para
programação estruturada,
funcional (etc.)
em PHP
Slide 18
Slide 18 text
Profissional PHP domina
SQL
ou: dados, guarde e ache
Slide 19
Slide 19 text
A Linguagem SQL é
GENÉRICA
MAS é preciso dominar
a administração de ao menos
um SGBD
(Sistema Gerenciador de Banco de Dados)
Slide 20
Slide 20 text
Escolha óbvia:
MySQL
MAS é não é o ÚNICO
nem o MELHOR.
Postgres vai cruzar seu caminho.
(e muitos outros)
Slide 21
Slide 21 text
Profissional PHP domina
Desing Patterns
ou: tem um jeito de
resolver esta encrenca
Slide 22
Slide 22 text
Desing Patterns??
“Soluções para problemas
recorrentes no desenvolvimento
de sistemas de software
orientados a objetos.”
Fonte: Wikipedia
Slide 23
Slide 23 text
Design
Patterns
Singleton
Factory
Iterator
Active Record
MVC
...
Slide 24
Slide 24 text
Aliás, Profissional PHP
segue Padrões
antes de inventar os seus
Slide 25
Slide 25 text
Profissional PHP domina
HTML e XHTML
sem esquecer HTML5
Slide 26
Slide 26 text
Na maior parte das aplicações
PHP gera HTML
É preciso dominar o que
se vai entregar ao cliente
Slide 27
Slide 27 text
Profissional PHP domina
Formatação com
CSS
ou: um mínimo de aparência
Slide 28
Slide 28 text
(X) HTML + CSS2
( estável, atual )
HTML5 + CSS3
( estabilizando, hoje e futuro )
Slide 29
Slide 29 text
O grande dilema
Ficou bonito?
Parabéns, webdesigner.
Deu erro?
Culpa do programador.
Slide 30
Slide 30 text
ninguém enxerga
CÓDIGO
todo mundo enxerga
DESIGN
Slide 31
Slide 31 text
Bom DESIGN
=
APARÊNCIA
+
FUNCIONALIDADE
Slide 32
Slide 32 text
Profissional PHP conhece
Javascript & AJAX
ao menos um pouco!
Slide 33
Slide 33 text
Na maior parte das aplicações
PHP gera HTML
para Navegadores
É preciso controlar o ambiente do
cliente e proporcionar usabilidade
Slide 34
Slide 34 text
Profissional PHP
Não reinventa a RODA
1) já existe? então usa!
2) classes, bibliotecas e frameworks
Slide 35
Slide 35 text
1) Já existe muita coisa pronta
Já existe CMS, TaskManager, CRM,
ERP, Wiki, Mailler, e mais um monte de
programas em PHP.
POR QUE VOCÊ VAI
FAZER MAIS UM???
Slide 36
Slide 36 text
Antes de programar algo do zero
avalie se não é melhor
PERSONALIZAR
PERSONALIZAR
alguém pode já ter resolvido
a maior parte do problema para você
Slide 37
Slide 37 text
2) Classes e Bibliotecas
O mundo é grande.
Alguém já teve
seu problema.
Invariavelmente.
Banco de Dados
Envio de email
Segurança
Conversão
...
Slide 38
Slide 38 text
2) FRAMEWORKS? O que é isso?
“Framework é um conjunto de
componentes que provêm uma
estrutura básica de elementos
reutilizáveis, tendo uma
arquitetura consistente de
funcionalidade genérica sob a qual
a aplicação será construída.”
Talita Pagini em
http://tableless.com.br/quando-utilizar-ou-nao-frameworks-css/
Reutilização
Extensibilidade
Segurança
Eficiência
Completude
Slide 39
Slide 39 text
HTML
e
CSS
960gs
Blueprint
BoilerPlate HTML5
Twitter Bootstrap