SlideShare uma empresa Scribd logo
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
*
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Sorry! =)
CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 21 / 25
www.galvao.eti.brPHP: 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
pessoal
criticada
caótica
criada por uma pessoa
rápida
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 ...
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:
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!

Mais conteúdo relacionado

Mais procurados (20)

PDF
Oficina de PHP - Software Freedom Day Luziânia 2013
George Mendonça
 
PDF
Desenvolvimento Mobile Web e PHP na FIPAR
Bruno Fernandes "PorKaria"
 
ODP
Desenvolvimento Mobile Web usando PHP
Bruno Fernandes "PorKaria"
 
PDF
#tbt do PHP, a evolução da linguagem nos últimos 10 anos
Joubert Guimarães de Assis "RedRat"
 
PDF
Como contribuir-com-open-source-php conference-2016
Marcos Paulo
 
PPTX
Minicurso Web. Front-end e HTML5 (parte 1)
Luiz Felipe Fernandes Machado Costa
 
PDF
PHP e o Desenvolvimento Mobile Web - PHPhederal
Bruno Fernandes "PorKaria"
 
PPTX
Minicurso Web. Front-end e HTML5 (parte 2)
Luiz Felipe Fernandes Machado Costa
 
PDF
Zend Framework na IV SAE UFPR 2010
Flávio Lisboa
 
PDF
Composer dependency manager - TDC - POA 2017
Vitor Mattos
 
PDF
Desenvolvimento web com python e web2py
Relsi Maron
 
PDF
Deixando o código mais amigável para as próximas gerações
fabio perrella
 
PDF
Como ser-um-programador-melhor
Marcos Paulo
 
ODP
Desmistificando web2py - #TDC2011
Bruno Rocha
 
PDF
php4android: desenvolva aplicações android em PHP
Ramon Ribeiro Rabello
 
PDF
O que esperar do framework Laminas
Flávio Lisboa
 
PDF
Criando microsserviços em PHP
Flávio Lisboa
 
PDF
Dojo plpgsql
Fabrízio Mello
 
PPTX
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Mario Guedes
 
PDF
Turbinando microsserviços em PHP
Flávio Lisboa
 
Oficina de PHP - Software Freedom Day Luziânia 2013
George Mendonça
 
Desenvolvimento Mobile Web e PHP na FIPAR
Bruno Fernandes "PorKaria"
 
Desenvolvimento Mobile Web usando PHP
Bruno Fernandes "PorKaria"
 
#tbt do PHP, a evolução da linguagem nos últimos 10 anos
Joubert Guimarães de Assis "RedRat"
 
Como contribuir-com-open-source-php conference-2016
Marcos Paulo
 
Minicurso Web. Front-end e HTML5 (parte 1)
Luiz Felipe Fernandes Machado Costa
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
Bruno Fernandes "PorKaria"
 
Minicurso Web. Front-end e HTML5 (parte 2)
Luiz Felipe Fernandes Machado Costa
 
Zend Framework na IV SAE UFPR 2010
Flávio Lisboa
 
Composer dependency manager - TDC - POA 2017
Vitor Mattos
 
Desenvolvimento web com python e web2py
Relsi Maron
 
Deixando o código mais amigável para as próximas gerações
fabio perrella
 
Como ser-um-programador-melhor
Marcos Paulo
 
Desmistificando web2py - #TDC2011
Bruno Rocha
 
php4android: desenvolva aplicações android em PHP
Ramon Ribeiro Rabello
 
O que esperar do framework Laminas
Flávio Lisboa
 
Criando microsserviços em PHP
Flávio Lisboa
 
Dojo plpgsql
Fabrízio Mello
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Mario Guedes
 
Turbinando microsserviços em PHP
Flávio Lisboa
 

Semelhante a PHP: Evolução (20)

ODP
Otimizando a execução de código-fonte PHP
Er Galvão Abbott
 
PDF
PHP Presente e Futuro
Felipe Vargas Rigo
 
ODP
Php7 esta chgando! O que você precisa saber
Er Galvão Abbott
 
PDF
PHP para aplicações Web de grande porte
Felipe Ribeiro
 
PDF
Palestra Zend Framework PHPSC Conf 2010
Flávio Lisboa
 
PDF
Desenvolvimento Web com Php e jQuery
Fabricio Nogueira
 
PDF
PHP, Presente e Futuro
Freedom DayMS
 
PPTX
PHP Tools for Fast coding
Daniel Archer Marques Cramer
 
PDF
WP Composer
Eduardo Pittol
 
PPT
Desenvolvendo Aplicações com Software Livre
elliando dias
 
PDF
Muito prazer, eu sou PHP
Johnathan Cardoso
 
PDF
Muito prazer, eu sou PHP
Luís Cobucci
 
PDF
Escalando uma plataforma poliglota - QConSP 17
Leandro Moreira
 
PDF
2290494 integrando-flex-com-php
Brenno Abreu
 
PDF
Ligação do Flex a um backend LAMP usando AMFPHP
elliando dias
 
PDF
Unbreakeable php
Er Galvão Abbott
 
PDF
Desenvolvendo aplicações com ZF2
Er Galvão Abbott
 
PDF
Zend framework 3 Hangout 2016
Flávio Lisboa
 
ODP
Prog web 01-php-introducao
Regis Magalhães
 
ODP
php 01 introducao
Regis Magalhães
 
Otimizando a execução de código-fonte PHP
Er Galvão Abbott
 
PHP Presente e Futuro
Felipe Vargas Rigo
 
Php7 esta chgando! O que você precisa saber
Er Galvão Abbott
 
PHP para aplicações Web de grande porte
Felipe Ribeiro
 
Palestra Zend Framework PHPSC Conf 2010
Flávio Lisboa
 
Desenvolvimento Web com Php e jQuery
Fabricio Nogueira
 
PHP, Presente e Futuro
Freedom DayMS
 
PHP Tools for Fast coding
Daniel Archer Marques Cramer
 
WP Composer
Eduardo Pittol
 
Desenvolvendo Aplicações com Software Livre
elliando dias
 
Muito prazer, eu sou PHP
Johnathan Cardoso
 
Muito prazer, eu sou PHP
Luís Cobucci
 
Escalando uma plataforma poliglota - QConSP 17
Leandro Moreira
 
2290494 integrando-flex-com-php
Brenno Abreu
 
Ligação do Flex a um backend LAMP usando AMFPHP
elliando dias
 
Unbreakeable php
Er Galvão Abbott
 
Desenvolvendo aplicações com ZF2
Er Galvão Abbott
 
Zend framework 3 Hangout 2016
Flávio Lisboa
 
Prog web 01-php-introducao
Regis Magalhães
 
php 01 introducao
Regis Magalhães
 
Anúncio

Mais de Er Galvão Abbott (20)

PDF
Segurança PHP em 2016
Er Galvão Abbott
 
PDF
Tudo o que você precisa saber sobre o php7
Er Galvão Abbott
 
PDF
DRYing the Skeleton: Reducing code repetition in ZF2
Er Galvão Abbott
 
ODP
PHP e Open Source
Er Galvão Abbott
 
PDF
ABRAPHP: Conquistas e Realizações - 2012-2014
Er Galvão Abbott
 
ODP
Implementing security routines with zf2
Er Galvão Abbott
 
PDF
Apresentacao frameworks
Er Galvão Abbott
 
ODP
Web: funcionamento, evolução e mercado
Er Galvão Abbott
 
PDF
ZF2 Menor, melhor e mais poderoso
Er Galvão Abbott
 
ODP
Implementando rotinas de geolocalização
Er Galvão Abbott
 
ODP
OSS, Comunidade, Eventos e como sua empresa ganha com isso
Er Galvão Abbott
 
ODP
OWASP: O que, Por que e Como
Er Galvão Abbott
 
PDF
Além da autenticação: Permissões de acesso com Zend Framework
Er Galvão Abbott
 
PDF
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Er Galvão Abbott
 
PDF
PHPBR TestFest
Er Galvão Abbott
 
PDF
Preto, Branco e as Sombras de Cinza
Er Galvão Abbott
 
PDF
Top 10 OWASP com PHP
Er Galvão Abbott
 
PDF
Aplicacoes Web Com AJAX
Er Galvão Abbott
 
PDF
Implementando Segurança Em Sua Aplicação PHP
Er Galvão Abbott
 
PDF
Prevenindo XSS: Execute apenas o SEU código
Er Galvão Abbott
 
Segurança PHP em 2016
Er Galvão Abbott
 
Tudo o que você precisa saber sobre o php7
Er Galvão Abbott
 
DRYing the Skeleton: Reducing code repetition in ZF2
Er Galvão Abbott
 
PHP e Open Source
Er Galvão Abbott
 
ABRAPHP: Conquistas e Realizações - 2012-2014
Er Galvão Abbott
 
Implementing security routines with zf2
Er Galvão Abbott
 
Apresentacao frameworks
Er Galvão Abbott
 
Web: funcionamento, evolução e mercado
Er Galvão Abbott
 
ZF2 Menor, melhor e mais poderoso
Er Galvão Abbott
 
Implementando rotinas de geolocalização
Er Galvão Abbott
 
OSS, Comunidade, Eventos e como sua empresa ganha com isso
Er Galvão Abbott
 
OWASP: O que, Por que e Como
Er Galvão Abbott
 
Além da autenticação: Permissões de acesso com Zend Framework
Er Galvão Abbott
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Er Galvão Abbott
 
PHPBR TestFest
Er Galvão Abbott
 
Preto, Branco e as Sombras de Cinza
Er Galvão Abbott
 
Top 10 OWASP com PHP
Er Galvão Abbott
 
Aplicacoes Web Com AJAX
Er Galvão Abbott
 
Implementando Segurança Em Sua Aplicação PHP
Er Galvão Abbott
 
Prevenindo XSS: Execute apenas o SEU código
Er Galvão Abbott
 
Anúncio

PHP: Evolução

  • 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
  • 21. Sorry! =) CC Attribution-ShareAlike 3.0 Unported License by Er Galvão Abbott - 3/30/15 - 21 / 25 www.galvao.eti.brPHP: Evolução
  • 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 ...
  • 24. 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:
  • 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!