A evolução do PHP: da linguagem simples de 1995 para a potente tecnologia de hoje
1. CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 1 / 25
PHP: Evolução www.galvao.eti.br
php: Evolução
ImagemporVincentPontier
*
2. Presidente da ABRAPHP – Associação Brasileira de Profissionais PHP
Diretor da PHP Conference Brasil
Contribui para a tradução da documentação oficial
Atua como Zend Framework Evangelist para o ZTeam, da Zend.
20+ anos desenvolvendo sistemas e aplicações com interface web
15+ destes com PHP
7+ com Zend Framework
Palestrante em eventos nacionais e internacionais
Instrutor de cursos presenciais e a distância
Fundador e líder do GU PHPBR
Fundador* e membro do GU PHPRS
Site: http://www.galvao.eti.br/
http://people.php.net/galvao
Twitter: @galvao
Slides e Documentos: http://slideshare.net/ergalvao
https://speakerdeck.com/galvao
Github: http://github.com/galvao
Posts: https://medium.com/@galvao
Quem?!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 2 / 25
www.galvao.eti.brPHP: Evolução
3. Era uma vez...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 3 / 25
www.galvao.eti.brPHP: Evolução
… uma linguagem
simples
pessoal
criticada
caótica
criada por uma pessoa
rápida
4. História
→ O Dinamarquês Rasmus Lerdorf cria a primeira versão da linguagem, aos 27 anos
→ Principais objetivos: ser mais produtivo com menos trabalho
→ Criar uma linguagem mais simples
→ A primeira versão é desenvolvida utilizando-se scripts em Perl
→ Em 97, a segunda versão, Form Interpreter, surge, já com porções re-escritas
→ Ainda em 97, PHP começa a se beneficiar do modelo Open Source
→ PHP é desconhecido no Brasil
→ Nesta mesma época (95-97) ocorre o boom dos “scripts CGI” no Brasil
→ Duas linguagens em particular são usadas para gerar estes scripts: C e Perl
→ Perl torna-se mais popular do que C, em função de sua simplicidade
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 4 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
5. História
→ Ainda em 97 Andi Gutmans e Zeev Suraski re-escrevem o parser CGI
→ Nasce a Zend Engine
→ A Zend Engine (0.5) torna-se a base do PHP 3, lançado em 98
→ A linguagem é re-batizada pela última vez: PHP Hypertext Preprocessor
→ A linguagem ganha a sua mascote oficial: o elePHPant, criado por Vincent Pontier
→ A primeira versão “popular” da linguagem no Brasil
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 5 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
6. História
→ Em 1999 estabelece-se oficialmente, em Israel, a Zend Technologies, de Zeev e Andi
→ É lançado o PHP 4, que inclui a Zend Engine 1.0
→ Pela primeira vez a linguagem ganha features de Orientação a Objetos
→ Entre as features mais importantes da linguagem:
→ OO
→ DB: MySQL, PostgreSQL, Oracle, MSSQL, Sybase, etc...
→ XML
→ A popularidade da linguagem cresce consideravelmente no Brasil
→ Já é corriqueiro encontrar vagas de empregos para a linguagem
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 6 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
7. História
→ A versão mais importante (e a major atual) da linguagem é lançada, com a Zend Engine 2
→ Toda a parte de Orientação a Objetos é re-escrita “do zero”
→ Suporte a XML re-escrito “do zero”, com suporte a DOM
→ Suporte simplificado a XML com as funções simplexml
→ Muitas funções e implementações instáveis são resolvidas (p.ex.: OCI8)
→ Acesso a DBs melhorado: MySQLImproved, PDO (PHP Data Objects), etc...
→ Suporte a SOAP
→ Exceções
→ No Brasil (e no mundo) a popularidade da linguagem não pode mais ser questionada
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 7 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
8. História
→ Suporte a datas melhorado, com suporte a timezone
→ Diversas melhorias de performance
→ PDO passa a ser habilitada por default
→ Diversas melhorias de segurança
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 8 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
9. História
→ Suporte a JSON
→ Surge a extensão Filter, para incrementar a segurança
→ Suporte a compactação de arquivos (ZIP), não-default
→ Limite de memória (default: 128mb) habilitado por default
→ Surge no Brasil o Grupo de Usuários PHPRS!
→ É realizada a primeira edição da PHP Conference Brasil, com Derick Rethans
→ Os GUs ganham força
→ Posteriormente seriam criados o PHPMG e PHPAL, inspirados pelo PHPRS
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 9 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
10. História
→ A funcionalidade register_globals é marcada como obsoleta
→ A funcionalidade safe_mode é marcada como obsoleta
→ A linguagem ganha novas – e importantes – funcionalidades:
→ Funções anônimas
→ Namespaces
→ Nasce a extensão PHAR – PHP Archive
→ No Brasil, a PHP Conference Brasil já é um evento consolidado
→ Lukas Smith, Christopher Jones, Luke Crouch, Sebastian Bergmann e Eli White
→ A Comunidade (GUs) segue de vento em popa
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 10 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
11. História
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 11 / 25
www.galvao.eti.brPHP: Evolução
1995
1997
“PHP1”
PHP/FI2
PHP3
1998
2000
2004
2005
2006
2009
2012
PHP4
PHP5
5.1
5.2
5.3
5.4
5.4.11
2013
→ Fim da register_globals
→ Fim da safe_mode
→ Novas funcionalidades:
→ Traits, Arrays “curtos”, a tag <?= passa a ser sempre habilitada
→ A linguagem conta com mais de 700 desenvolvedores envolvidos, incluindo Brasileiros
→ Empresas como Oracle, IBM e Microsoft estão envolvidas no desenvolvimento
→ A Zend lança uma solução para criação de aplicações móveis envolvendo PHP
→ Nasce a ABRAPHP – Associação Brasileira de Profissionais PHP
→ Andi Gutmans é o Keynote Speaker na PHP Conference Brasil 2012
→ A Zend reúne-se com a Comunidade e Empresas Brasileiras
12. História
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 12 / 25
www.galvao.eti.brPHP: Evolução
2013
2014
5.5
5.6
→ A família de funções mysql é marcada como obsoleta
→ Novas funcionalidades:
→ Generators
→ Palavra-chave Finally para Exceções
→ Surge o PHP-Fig e as PSRs
→ Google afirma: 75% da Web roda PHP e adiciona a linguagem a sua App Engine
→ A ABRAPHP começa a iniciativa de levar o PHP “de volta” a eventos de SL, com o FISL
13. História
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 13 / 25
www.galvao.eti.brPHP: Evolução
2013
2014
5.5
5.6
→ Novas funcionalidades:
→ Funções Variádicas
→ Operador de Exponenciação
→ Debugger nativo
→ A linguagem começa a ganhar a sua Especificação Formal
→ ABRAPHP leva a linguagem para dentro de uma instituição ligada ao Governo: Dataprev
→ ABRAPHP participa da organização do Latinoware 2014 reforçando a trilha de PHP o/
→ PHP Conference Brasil 2014 conta com Rasmus Lerdorf e Matthew Weier O'Phinney
14. Futuro
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 14 / 25
www.galvao.eti.brPHP: Evolução
2013
2014
5.5
5.6
→ ASP Tags e Script tag serão removidas
→ Melhorias para plataforma de 64 bits
→ Novas funcionalidades:
→ Operador Null Coalesce
→ Operador Spaceship (<=>)
→ Scalar Type Hints
→ Return Type Declarations
→ PHP Conference Brasil fará 10 anos o/
→ Eventos de SL, como o Latinoware 2015, seguirão com uma trilha forte de PHP
(Dedos cruzados, torçam por nós!)
PHP7?
7
15. O Futuro é lindo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 15 / 25
www.galvao.eti.brPHP: Evolução
Scalar Type Hints
16. O Futuro é lindo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 16 / 25
www.galvao.eti.brPHP: Evolução
Scalar Type Hints +
Strict Mode
17. O Futuro é lindo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 17 / 25
www.galvao.eti.brPHP: Evolução
Scalar Type Hints +
Strict Mode +
Return Type Declarations
18. O Futuro é lindo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 18 / 25
www.galvao.eti.brPHP: Evolução
Scalar Type Hints +
Strict Mode +
Return Type Declarations +
Engine Exceptions
19. O Futuro é lindo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 19 / 25
www.galvao.eti.brPHP: Evolução
Scalar Type Hints +
Strict Mode +
Return Type Declarations +
Engine Exceptions
===
EPIC WIN
20. O Futuro é lindo
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 20 / 25
www.galvao.eti.brPHP: Evolução
<?php
declare(strict_types = 1);
function foo(float $x, float $y): float
{
return $x + $y;
}
foo(0.5, 2.8); // OK
foo(1, 2); // OK*
foo('1.5', '2.1'); // Fatal Error**
* Type Widening ** Uncaught EngineException
22. Era uma vez...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 22 / 25
www.galvao.eti.brPHP: Evolução
… uma linguagem
simples
pessoal
criticada
caótica
criada por uma pessoa
rápida
23. Hoje...
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 23 / 25
www.galvao.eti.brPHP: Evolução
… esta linguagem é
simples, mas versátil
pessoal e profissional
aclamada
organizada
suportada por milhões
rápida, com qualidade
CRMs, CMSs, Blogs, Portais, Mobile
TDD, CI, DI, OO, git
[Micro/]Frameworks, Deployable
Mídia, Portais conhecidos
FIG (PSRs), Boas práticas,
Especificação Formal
PHPConf, ZendCon, FISL, GUs,
ABRAPHP, Latinoware, Eventos
Regionais ...
25. Muito obrigado!
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 25 / 25
www.galvao.eti.brPHP: Evolução
Fica o convite:
Vem evoluir junto!