O QUE É?
abbr: PHP HiperText Preprocessor
“PHP é uma linguagem de propósito genérico largamente utilizada e
especializada para desenvolvimento Web que pode ser embutida no
HTML ...” (php.net)
Monday, April 25, 2011 3
4.
O QUE É?
• Criada em 1995
• Utilizada em mais de 21 milhões de domínios
• Open Source
• Interpretada e Dinamicamente tipada
• Suporte aos paradigmas Procedural e Orientado a Objetos
• Sintaxe objetiva (simples) com influências de Perl e C
Monday, April 25, 2011 4
UM POUCO DEHISTÓRIA
1995
• Versão 1.0
• Rasmus Lerdorf
• Escrito em Perl
• PHP/FI: Personal Home Pages
• Open Source (Código Aberto)
Monday, April 25, 2011 6
7.
UM POUCO DEHISTÓRIA
1998
• Versão 3.0
• Rasmus + Zeev e Andi
• Escrito em C
• PHP: HyperText Preprocessor
• Suporte a Orientação a Objetos
• ~10% da internet
Monday, April 25, 2011 7
8.
UM POUCO DEHISTÓRIA
2000
• Versão 4.0
• Zend Engine (Core PHP)
• Performance++ (Parse/Execute)
• Suporte a vários servidores HTTP
• Sessions, Output Buffering, CLI
• ~20% da internet
Monday, April 25, 2011 8
9.
UM POUCO DEHISTÓRIA
2004
• Versão 5.0
• Zend Engine 2.0 (reescrita completa)
• Novo modelo de Objetos
• Performance++ (variáveis de compilação)
• Streams, PDO, SPL
Monday, April 25, 2011 9
10.
UM POUCO DEHISTÓRIA
2009
• Versão 5.3
• Namespaces, Closures, Late Static Binding, PHAR, mysqlnd
• Melhor suporte ao Microsoft Windows e IIS
• Garbage Collection para Referências Cíclicas
• Internacionalização, SQLite3, FileInfo
Monday, April 25, 2011 10
11.
UM POUCO DEHISTÓRIA
• Versão 5.4 (provável) ou 6.0
• Type Hints, Traits, HTTP server
• Incentivo de boas práticas (Strict Standards, PHP Standards)
• Segurança (Tainted Data)
• Assuntos “delicados”
• Annotations
• Suporte completo ao Unicode
Monday, April 25, 2011 11
HTTP O QUÊ?
• abbr: Hypertext Transfer Protocol
• Protocolo de Rede (Camada de Aplicação)
• Foco na troca de Informações (!= dados) distribuída e colaborativa
• Inicialmente coordenado pelo IETF e W3C
• Versão atual HTTP/1.1 em 1999 (RFC:2616)
Monday, April 25, 2011 13
E EU KIKO?
• HTTP é o protocolo utilizado por toda aplicação na internet
• Cliente (Navegador) e Servidor
Monday, April 25, 2011 15
16.
ESTE É VOCÊ
Você quer acessar www.google.com com o
navegador de sua preferência.
Monday, April 25, 2011 16
17.
O SERVIDOR RECEBE
Um servidor HTTP processa a requisição e
devolve o recurso pedido.
Monday, April 25, 2011 17
18.
ESTE É VOCÊ
O navegador processar a resposta do
servidor e exibe a página para você.
Monday, April 25, 2011 18
19.
ONDE ENTRA OPHP?
• Em conjunto com o servidor HTTP
• O PHP acessa a dados da requisição (GET, POST, DELETE ou UPDATE)
• O PHP retorna para o servidor HTTP o conteúdo da resposta (HTML)
Monday, April 25, 2011 19
20.
LAMP
• abbr: Linux + Apache + MySQL + PHP
• Arquitetura mais utilizada pelos servidores
• Outras arquiteturas: WAMP (Windows), MAMP (Mac)
• Kits de intalação prontos para uso:
• Zend Server e XAMPP
Monday, April 25, 2011 20
PORQUE USAR PHP?
• Baixo custo e curva de aprendizado
• Largamente utilizado (>20 milhões de domínios)
• Ótima performance
• Excelente documentação
• Robusto, Flexível e Ecossistema maduro
Monday, April 25, 2011 22
CURVA DE APRENDIZADO
Melhor documentação existente (Exemplos e comentários) somada a
uma extensa quantidade de informação na internet (Sites, Posts,
Projetos)
Monday, April 25, 2011 28
COMUNIDADE
• Core developers do PHP
• Contribuidores/Líderes de Projetos
• Líderes de Grupo
• Desenvolvedores
Monday, April 25, 2011 37
38.
COMUNIDADE
• PHP Brasil Comunidades - PHPBC
• Mais de 20 grupos de usuários coordenados
• Encontre o seu em www.php.org.br
• PHPSP - Grupo de Usuários do Estado de São Paulo
• www.phpsp.org.br
Monday, April 25, 2011 38
COMO É OPHP?
• Linguagem interpretada (sem compilação)
• Funciona plugada a um servidor HTTP
• http://localhost/index.php
• Funciona via linha de comando (CLI)
• $php index.php
Monday, April 25, 2011 42
MERCADO DE TRABALHO
Sobrinhos Profissionais
•Copiou •Estudo constante
•Colou •Valorizam o mercado
•Funciounou •Em falta no mercado
•Beleza!
Monday, April 25, 2011 57