SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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!

Contenu connexe

Tendances

Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016Marcos Paulo
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalBruno Fernandes "PorKaria"
 
Zend Framework na IV SAE UFPR 2010
Zend Framework na IV SAE UFPR 2010Zend Framework na IV SAE UFPR 2010
Zend Framework na IV SAE UFPR 2010Flávio Lisboa
 
Composer dependency manager - TDC - POA 2017
Composer   dependency manager - TDC - POA 2017Composer   dependency manager - TDC - POA 2017
Composer dependency manager - TDC - POA 2017Vitor Mattos
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyRelsi Maron
 
Deixando o código mais amigável para as próximas gerações
Deixando o código mais amigável para as próximas geraçõesDeixando o código mais amigável para as próximas gerações
Deixando o código mais amigável para as próximas geraçõesfabio perrella
 
Como ser-um-programador-melhor
Como ser-um-programador-melhorComo ser-um-programador-melhor
Como ser-um-programador-melhorMarcos Paulo
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBArquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBMario Guedes
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 

Tendances (20)

Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Desenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPARDesenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPAR
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
#tbt do PHP, a evolução da linguagem nos últimos 10 anos
#tbt do PHP, a evolução da linguagem nos últimos 10 anos#tbt do PHP, a evolução da linguagem nos últimos 10 anos
#tbt do PHP, a evolução da linguagem nos últimos 10 anos
 
Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016
 
Minicurso Web. Front-end e HTML5 (parte 1)
Minicurso Web. Front-end e HTML5 (parte 1)Minicurso Web. Front-end e HTML5 (parte 1)
Minicurso Web. Front-end e HTML5 (parte 1)
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
 
Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)
 
Zend Framework na IV SAE UFPR 2010
Zend Framework na IV SAE UFPR 2010Zend Framework na IV SAE UFPR 2010
Zend Framework na IV SAE UFPR 2010
 
Composer dependency manager - TDC - POA 2017
Composer   dependency manager - TDC - POA 2017Composer   dependency manager - TDC - POA 2017
Composer dependency manager - TDC - POA 2017
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2py
 
Deixando o código mais amigável para as próximas gerações
Deixando o código mais amigável para as próximas geraçõesDeixando o código mais amigável para as próximas gerações
Deixando o código mais amigável para as próximas gerações
 
Como ser-um-programador-melhor
Como ser-um-programador-melhorComo ser-um-programador-melhor
Como ser-um-programador-melhor
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Dojo plpgsql
Dojo plpgsqlDojo plpgsql
Dojo plpgsql
 
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBArquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDB
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 

Similaire à A evolução do PHP: da linguagem simples de 1995 para a potente tecnologia de hoje

Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPEr Galvão Abbott
 
Php7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saberPhp7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saberEr Galvão Abbott
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010Flávio Lisboa
 
Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryFabricio Nogueira
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e FuturoFreedom DayMS
 
Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livreelliando dias
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHPLuís Cobucci
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPelliando dias
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Er Galvão Abbott
 
Zend framework 3 Hangout 2016
Zend framework 3 Hangout 2016Zend framework 3 Hangout 2016
Zend framework 3 Hangout 2016Flávio Lisboa
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 

Similaire à A evolução do PHP: da linguagem simples de 1995 para a potente tecnologia de hoje (20)

Otimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHPOtimizando a execução de código-fonte PHP
Otimizando a execução de código-fonte PHP
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
Php7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saberPhp7 esta chgando! O que você precisa saber
Php7 esta chgando! O que você precisa saber
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010Palestra Zend Framework PHPSC Conf 2010
Palestra Zend Framework PHPSC Conf 2010
 
Desenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQueryDesenvolvimento Web com Php e jQuery
Desenvolvimento Web com Php e jQuery
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
WP Composer
WP ComposerWP Composer
WP Composer
 
Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livre
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Unbreakeable php
Unbreakeable phpUnbreakeable php
Unbreakeable php
 
Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2Desenvolvendo aplicações com ZF2
Desenvolvendo aplicações com ZF2
 
Zend framework 3 Hangout 2016
Zend framework 3 Hangout 2016Zend framework 3 Hangout 2016
Zend framework 3 Hangout 2016
 
php 01 introducao
php 01 introducaophp 01 introducao
php 01 introducao
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 

Plus de Er Galvão Abbott

Tudo o que você precisa saber sobre o php7
Tudo o que você precisa saber sobre o php7Tudo o que você precisa saber sobre o php7
Tudo o que você precisa saber sobre o php7Er Galvão Abbott
 
DRYing the Skeleton: Reducing code repetition in ZF2
DRYing the Skeleton: Reducing code repetition in ZF2DRYing the Skeleton: Reducing code repetition in ZF2
DRYing the Skeleton: Reducing code repetition in ZF2Er Galvão Abbott
 
ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014ABRAPHP: Conquistas e Realizações - 2012-2014
ABRAPHP: Conquistas e Realizações - 2012-2014Er Galvão Abbott
 
Implementing security routines with zf2
Implementing security routines with zf2Implementing security routines with zf2
Implementing security routines with zf2Er Galvão Abbott
 
Web: funcionamento, evolução e mercado
Web: funcionamento, evolução e mercadoWeb: funcionamento, evolução e mercado
Web: funcionamento, evolução e mercadoEr Galvão Abbott
 
ZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoZF2 Menor, melhor e mais poderoso
ZF2 Menor, melhor e mais poderosoEr Galvão Abbott
 
Implementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoImplementando rotinas de geolocalização
Implementando rotinas de geolocalizaçãoEr Galvão Abbott
 
OSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoOSS, Comunidade, Eventos e como sua empresa ganha com isso
OSS, Comunidade, Eventos e como sua empresa ganha com issoEr Galvão Abbott
 
OWASP: O que, Por que e Como
OWASP: O que, Por que e ComoOWASP: O que, Por que e Como
OWASP: O que, Por que e ComoEr Galvão Abbott
 
Além da autenticação: Permissões de acesso com Zend Framework
Além da autenticação: Permissões de acesso com Zend FrameworkAlém da autenticação: Permissões de acesso com Zend Framework
Além da autenticação: Permissões de acesso com Zend FrameworkEr Galvão Abbott
 
Proposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebProposta de Boas Práticas e Padrões de Desenvolvimento Web
Proposta de Boas Práticas e Padrões de Desenvolvimento WebEr Galvão Abbott
 
Preto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaPreto, Branco e as Sombras de Cinza
Preto, Branco e as Sombras de CinzaEr Galvão Abbott
 
Implementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPImplementando Segurança Em Sua Aplicação PHP
Implementando Segurança Em Sua Aplicação PHPEr Galvão Abbott
 
Prevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU códigoPrevenindo XSS: Execute apenas o SEU código
Prevenindo XSS: Execute apenas o SEU códigoEr Galvão Abbott
 

Plus de Er Galvão Abbott (20)

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

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