Slide 1

Slide 1 text

CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 1 / 20 PHP: Evolução www.galvao.eti.br php: Evolução Imagem por Vincent Pontier *

Slide 2

Slide 2 text

Presidente da ABRAPHP – Associação Brasileira de Profissionais PHP Diretor da PHP Conference Brasil Contribui para a linguagem PHP Atua como Zend Framework Evangelist para o ZTeam, da Zend. Professor Convidado de Pós-Graduação (SC e PR) 22+ anos desenvolvendo sistemas e aplicações com interface web 17+ destes com PHP 9+ com Zend Framework Palestrante em eventos nacionais e internacionais Instrutor de cursos presenciais e a distância Fundador* e membro do GU PHPRS Site: http://www.galvao.eti.br/ Twitter: @galvao Slides: 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 - 11/1/17 - 2 / 20 www.galvao.eti.br PHP: Evolução

Slide 3

Slide 3 text

Era uma vez... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 3 / 20 www.galvao.eti.br PHP: Evolução … uma linguagem simples pessoal criticada caótica criada por uma pessoa rápida

Slide 4

Slide 4 text

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 - 11/1/17 - 4 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 5

Slide 5 text

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 - 11/1/17 - 5 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 6

Slide 6 text

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 - 11/1/17 - 6 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 7

Slide 7 text

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 - 11/1/17 - 7 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 8

Slide 8 text

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 - 11/1/17 - 8 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 9

Slide 9 text

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 - 11/1/17 - 9 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 10

Slide 10 text

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 - 11/1/17 - 10 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 5.1 5.2 5.3 5.4 5.4.11 2013

Slide 11

Slide 11 text

História CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 11 / 20 www.galvao.eti.br PHP: Evolução 1995 1997 “PHP 1” PHP/FI 2 PHP 3 1998 2000 2004 2005 2006 2009 2012 PHP 4 PHP 5 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

Slide 12

Slide 12 text

História CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 12 / 20 www.galvao.eti.br PHP: 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

Slide 13

Slide 13 text

História CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 13 / 20 www.galvao.eti.br PHP: 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

Slide 14

Slide 14 text

Presente CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 14 / 20 www.galvao.eti.br PHP: Evolução 2013 2014 5.5 5.6 → Novas funcionalidades: → Scalar Type Hints e Return Type Declarations → Novos operadores: NULL Coalesce e Spaceship → Estima-se que PHP7 seja pelo menos 2x mais rápida do que a versão anterior → ABRAPHP participa de ação social junto ao Latinoware 7.0 7.1 2016 2015

Slide 15

Slide 15 text

Presente CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 15 / 20 www.galvao.eti.br PHP: Evolução 2013 2014 5.5 5.6 → Novas funcionalidades: → Suporte a HTTP/2 (Push) para ext/curl → Void como retorno de método/função → Visibilidade em constantes de classe → Parâmetros e retornos como NULL → O PHPRS tem a sua primeira conferência própria → Latinoware, FTSL, entre outros tem constante participação de palestras de PHP 7.0 7.1 2016 2015

Slide 16

Slide 16 text

Futuro CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 16 / 20 www.galvao.eti.br PHP: Evolução → Argon2 → Sodium → Objeto (genérico) como tipo → Debug de Prepared Statements na PDO → Encerramento da gestão 2012-2016 da ABRAPHP → PHP Conference Brasil com novidades...

Slide 17

Slide 17 text

Era uma vez... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 17 / 20 www.galvao.eti.br PHP: Evolução … uma linguagem simples pessoal criticada caótica criada por uma pessoa rápida

Slide 18

Slide 18 text

Hoje... CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 18 / 20 www.galvao.eti.br PHP: 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 ...

Slide 19

Slide 19 text

Muito obrigado! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 19 / 20 www.galvao.eti.br PHP: Evolução Fica o convite:

Slide 20

Slide 20 text

Muito obrigado! CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 11/1/17 - 20 / 20 www.galvao.eti.br PHP: Evolução Fica o convite: Vem evoluir junto! http://php.net