Vive laVive la
RévolutionRévolution
PHP!PHP!
Luís Otávio Cobucci OblonczykLuís Otávio Cobucci Oblonczyk
@lcobucci@lcobucci
Luís OtávioLuís Otávio
Cobucci OblonczykCobucci Oblonczyk
@lcobucci@lcobucci
É de comer?É de comer?
É de comer?É de comer?
Linguagem de script
É de comer?É de comer?
Linguagem de script Open Source
É de comer?É de comer?
Linguagem de script Open Source
Web
É de comer?É de comer?
Linguagem de script Open Source
Web
CLI
É de comer?É de comer?
Linguagem de script Open Source
Web
CLI Desktop
É de comer?É de comer?
Linguagem de script Open Source
Web
CLI Desktop
Presente em +80% sites do mundo
A long timeA long time
ago...ago...
A long timeA long time
ago...ago...
Personal Home Pages - 1994
A long timeA long time
ago...ago...
Personal Home Pages - 1994
PHP/FI - 1997
A long timeA long time
ago...ago...
Personal Home Pages - 1994
PHP/FI - 1997
PHP 3 - 1998
A long timeA long time
ago...ago...
Personal Home Pages - 1994
PHP/FI - 1997
PHP 3 - 1998
+/- 10% dos
servidores da web
A long timeA long time
ago...ago...
Personal Home Pages - 1994
PHP/FI - 1997
PHP 3 - 1998
PHP 4 - 1999
A long timeA long time
ago...ago...
Personal Home Pages - 1994
PHP/FI - 1997
PHP 3 - 1998
PHP 4 - 1999
PHP 5 - 2004
Como funciona?Como funciona?
HTTP Client
Como funciona?Como funciona?
HTTP Client HTTP Server
Como funciona?Como funciona?
HTTP Client HTTP Server
Como funciona?Como funciona?
GET /index.php?name=Luis HTTP/1.1
Host: lcobucci.com
HTTP Client HTTP Server
PHP
Como funciona?Como funciona?
HTTP Client HTTP Server
PHP
Como funciona?Como funciona?
<?php
echo 'Hello ' . $_GET[ 'name'];
HTTP Client HTTP Server
PHP
Como funciona?Como funciona?
HTTP Client HTTP Server
PHP
Como funciona?Como funciona?
Hello Luis
HTTP Client HTTP Server
PHP
Como funciona?Como funciona?
HTTP Client HTTP Server
PHP
Como funciona?Como funciona?
HTTP/1.1 200 OK
Date: Tue, 20 May 2014 17:43:25 GMT
Server: Apache/2.4.9
X-Powered-By: PHP/5.5.12
Content-Length: 10
Content-Type: text/html; charset=UTF-8
Hello Luis
GoodsGoods
GoodsGoods
Sintaxe fácil
GoodsGoods
Sintaxe fácil
Manual
GoodsGoods
Sintaxe fácil
Manual
Flexível
GoodsGoods
Sintaxe fácil
Manual
Flexível
Extensível
GoodsGoods
Sintaxe fácil
Manual
Flexível
Extensível
Constante evolução
““Bads”Bads”
““Bads”Bads”
“2 zebras” + “14 baratas”
““Bads”Bads”
"foo" == true && “foo” == 0
“2 zebras” + “14 baratas”
““Bads”Bads”
@
"foo" == true && “foo” == 0
“2 zebras” + “14 baratas”
““Bads”Bads”
Inconsistências em funções
@
"foo" == true && “foo” == 0
“2 zebras” + “14 baratas”
Copy & pasteCopy & paste
GambiarrasGambiarras
GambiarrasGambiarras
Toda linguagem está sujeita
à gambiarras, quem cria os
códigos é uma pessoa
ComunidadeComunidade
ImportanteImportante
Não tem biscoito!
ImportanteImportante
FrameworksFrameworks
& bibliotecas& bibliotecas
FrameworksFrameworks
& bibliotecas& bibliotecas
Zend Framework Symfony
FrameworksFrameworks
& bibliotecas& bibliotecas
Doctrine
Zend Framework Symfony
Silex Respect/*
FrameworksFrameworks
& bibliotecas& bibliotecas
Doctrine
Zend Framework Symfony
Silex Respect/*
Composer
QAQA
QAQA
PHPUnit
QAQA
PHPUnit
PDepend
QAQA
PHPUnit
PHPMD
PDepend
QAQA
PHPUnit
PHPMD
PDepend
PHPCS
QAQA
PHPUnit
PHPMD
PDepend
PHPCS
Phing
QAQA
PHPUnit
PHPMD
PDepend
PHPCS Jenkins
Phing
MercadoMercado
Faça parteFaça parte
Faça parteFaça parte
Leia
Faça parteFaça parte
Leia
Estude
Faça parteFaça parte
Leia
Estude
Colabore
Faça parteFaça parte
Leia
Estude
Colabore
Seja profissional
Faça parteFaça parte
Leia
Estude
Colabore
Seja profissional
Divirta-se
Dúvidas?Dúvidas?
Obrigado!Obrigado!
@lcobucci@lcobucci

Vive la révolution PHP!