25
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 I m a g e m p o r V i n c e n t P o n t i e r *

PHP: Evolução

Embed Size (px)

DESCRIPTION

Palestra que demonstra a evolução da linguagem PHP, desde a sua criação até os dias de hoje

Citation preview

Page 1: PHP: Evolução

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

Imagem

p or Vincent P

ontier

*

Page 2: PHP: Evolução

Presidente da ABRAPHP – Associação Brasileira de Profissionais PHPDiretor da PHP Conference BrasilContribui 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 internacionaisInstrutor de cursos presenciais e a distânciaFundador e líder do GU PHPBRFundador* e membro do GU PHPRS

Site: http://www.galvao.eti.br/ http://people.php.net/galvaoTwitter: @galvaoSlides e Documentos: http://slideshare.net/ergalvao https://speakerdeck.com/galvaoGithub: http://github.com/galvaoPosts: 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

Page 3: PHP: Evolução

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

pessoalcriticadacaóticacriada por uma pessoa

rápida

Page 4: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 5: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 6: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 7: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 8: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 9: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 10: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

Page 11: PHP: Evolução

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

“PH

P 1

PH

P/F

I 2

PH

P 3

1998

2000

2004

2005

2006

2009

2012

PH

P 4

PH

P 5 5.1

5.2

5.3

5.4

5.4.

1120

13

→ 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

Page 12: PHP: Evolução

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

Page 13: PHP: Evolução

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

Page 14: PHP: Evolução

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!)

PH

P 7

?

7

Page 15: PHP: Evolução

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

Page 16: PHP: Evolução

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

Page 17: PHP: Evolução

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

Page 18: PHP: Evolução

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

Page 19: PHP: Evolução

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

Page 20: PHP: Evolução

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

<?phpdeclare(strict_types = 1);

function foo(float $x, float $y): float { return $x + $y;}

foo(0.5, 2.8); // OKfoo(1, 2); // OK*foo('1.5', '2.1'); // Fatal Error**

* Type Widening ** Uncaught EngineException

Page 21: PHP: Evolução

Sorry! =)

CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 21 / 25

www.galvao.eti.brPHP: Evolução

Page 22: PHP: Evolução

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

pessoalcriticadacaóticacriada por uma pessoa

rápida

Page 23: PHP: Evolução

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 profissionalaclamadaorganizadasuportada 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, EventosRegionais ...

Page 24: PHP: Evolução

Muito obrigado!

CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 24 / 25

www.galvao.eti.brPHP: Evolução

Fica o convite:

Page 25: PHP: Evolução

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!