SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Globalcode – Open4education
Trilha PHP – Florianópolis 2018
Cassio Santos
Globalcode – Open4education
O QUE MUDOU
INTERNAMENTE NO PHP 7?
#TheDevConf 2018 - Trilha PHP:
Globalcode – Open4education
cassiosantos@tdc2018florianopolis:
Desenvolvedor PHP desde 2005
Atuei nas área de:
hospedagem de sites
software para a área portuária
Atuo no desenvolvimento da Rede
Social Coorporativa SocialBase
Globalcode – Open4education
Python Floripa PHP SC Floripa
Globalcode – Open4education
Globalcode – Open4education
1994
Rasmus Lerdorf
Personal Home Page
Tools (PHP Tools)
Globalcode – Open4education
1996
PHP 2: Rasmus Lerdorf
PHP/FI
1995
PHP 1: Rasmus Lerdorf
Forms Interpreter /
PHP Construction Kit
Globalcode – Open4education
1996
PHP 2: Rasmus Lerdorf
PHP/FI
1995
PHP 1: Rasmus Lerdorf
Forms Interpreter /
PHP Construction Kit
Globalcode – Open4education
Rasmus Lerdorf disse:
“I don’t know how to stop it, there was never
any intent to write a programming language […] I
have absolutely no idea how to write a
programming language, I just kept adding the next
logical step on the way.”
Globalcode – Open4education
2000
PHP 4: Andi Gutmans,
Zeev Suraski e
Rasmus Lerdorf
PEAR: PHP Extension and Application Repository,
PHPQA: PHP Quality Assurance Team
1998
PHP 3: Andi Gutmans,
Zeev Suraski e
Rasmus Lerdorf
PHP: Hypertext Preprocessor
Globalcode – Open4education
2005-2009
PHP 6?
Unicode / UTF-16 internal strings
2004
PHP 5: Andi Gutmans,
Zeev Suraski e
Rasmus Lerdorf
Melhor O.O. e PDO
Globalcode – Open4education
Globalcode – Open4education
2015
PHP 7: Dmitry Stogov,
Xinchen Hui e
Nikita Popov
Melhor tratamento de tipos,
padronização de exceções,etc
2014
PHP NG: Dmitry Stogov,
Xinchen Hui e
Nikita Popov
Melhor tratamento com tipos
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
2015
PHP 7: Dmitry Stogov,
Xinchen Hui e
Nikita Popov
Melhor tratamento de tipos,
padronização de exceções,etc
2014
PHP NG: Dmitry Stogov,
Xinchen Hui e
Nikita Popov
Melhor tratamento com tipos
Globalcode – Open4education
Globalcode – Open4education
Mudanças do PHP 7
Quebra de Compatibilidade
Novos Operadores
Erros e Exceções
Indução de Tipo Escalar
Declaração de Tipo de Retorno
Classes Anônimas
Palavras-chave semi-reservadas Crédito:
Guilherme Blanco
Globalcode – Open4education
PHP 7.1
Tipos "nullable"
Retorno "void"
Pseudo-tipo "iterable"
Modificadores de
visibilidade de
constante de classes
Sintaxe de colchetes
em atribuições de
desconstrução
de array
Captura de várias
exceções simultâneas
Globalcode – Open4education
PHP 7.2
Tipo "object"
Contagem de objetos "non-contable"
Removida a extensão "Mcrypt"
Nova extensão "sodium"
Argon2 para hash de senhas
Globalcode – Open4education
Melhorias internas do PHP7
Árvore de Sintaxe Abstrata (Abstract Syntax Tree)
Suporte completo a 64 bits
LFS (Large File Support)
Suporte a inteiros de 64 bits
Strings de até 2^31
Novo Gerenciamento de Memória
Nova implementação de Threads
Otimização de Estruturas de Dados
Crédito:
Guilherme Blanco
Globalcode – Open4education
Sem a Árvore Sintática Abstrata
Crédito:
Nikita Popov
Globalcode – Open4education
Com a Árvore Sintática Abstrata
Crédito:
Nikita Popov
Globalcode – Open4education
PHP7
Processamento Memória
Globalcode – Open4education
Otimização de uso da Memória
Reduzir o número de alocações:
PHP gasta ~20% do tempo alocando memória
Memória
Crédito:
Nikita Popov
Globalcode – Open4education
Acesso à memória:
Crédito:
Nikita Popov
Globalcode – Open4education
Acesso à memória:
Crédito:
Nikita Popov
Globalcode – Open4education
Acesso à memória:
Crédito:
Nikita Popov
Globalcode – Open4education
Acesso à memória:
Crédito:
Nikita Popov
Globalcode – Open4education
Acesso à memória:
Crédito:
Nikita Popov
Globalcode – Open4education
Redução de Indireção
Crédito:
Nikita Popov
O que
você tem
O que
você quer
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Crédito:
Nikita Popov
Globalcode – Open4education
Futuro
PSR
RFCs
is_countable
Arrays iniciando com índice negativo
Heredoc e nowdoc flexíveis
Vírgula no último argumento da função/método
Atribuição por referência em list...
...
Globalcode – Open4education
Futuro
Parâmetros nomeados (Named parameters)
Visibilidade de classes (Class Visibility)
Tipagem de propriedades (Typed properties)
Anotações (Annotations)
Coleções (Collections)
Estruturas genéricas (Generics)
Crédito:
Guilherme Blanco
Globalcode – Open4education
Sério: Atualize!
Globalcode – Open4education
Trilha PHP – Florianópolis 2018
Cassio Santos
GitHub: @cassiosantos LinkedIn: cassiodossantos
Twitter: @cassiosantos Facebook: cassiosantos
Globalcode – Open4education
Links:
http://museum.php.net/php1/
https://www.youtube.com/watch?v=vpqNw91eD1c
http://php.net/manual/en/history.php.php
http://hacklang.org/
https://web.archive.org/web/20130728125152/http:/
/itc.conversationsnetwork.org/shows/detail58.html
Globalcode – Open4education
Mais links:
https://seld.be/notes/php-versions-stats-2017-2-
edition
https://getcomposer.org/
https://phalconphp.com/en/
https://www.youtube.com/watch?v=M8Ktic5sPlo
https://wiki.php.net/rfc#accepted

Más contenido relacionado

Similar a História e evolução PHP

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
 
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreWordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreVanessa Valle
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...Renato Groff
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
Dividindo para conquistar: microservicos com o jeitinho .NET
Dividindo para conquistar: microservicos com o jeitinho .NETDividindo para conquistar: microservicos com o jeitinho .NET
Dividindo para conquistar: microservicos com o jeitinho .NETtdc-globalcode
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
TDC2016SP - Utilizando Azure Storage em app´s Xamarin
TDC2016SP - Utilizando Azure Storage em app´s XamarinTDC2016SP - Utilizando Azure Storage em app´s Xamarin
TDC2016SP - Utilizando Azure Storage em app´s Xamarintdc-globalcode
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e FuturoFreedom DayMS
 
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...tdc-globalcode
 
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Alex Piaz
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosEvaldo Junior
 
Programe na Velocidade da Luz
Programe na Velocidade da LuzPrograme na Velocidade da Luz
Programe na Velocidade da LuzDaniel Polito
 
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Flávio Lisboa
 
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7tdc-globalcode
 

Similar a História e evolução PHP (20)

PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
PHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHPPHP 7 - A Maioridade do PHP
PHP 7 - A Maioridade do PHP
 
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
 
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net CoreWordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
WordCamp SP 2019 - PeachPie unindo Php com C# .Net Core
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
PHP Presente e Futuro
PHP Presente e FuturoPHP Presente e Futuro
PHP Presente e Futuro
 
Dividindo para conquistar: microservicos com o jeitinho .NET
Dividindo para conquistar: microservicos com o jeitinho .NETDividindo para conquistar: microservicos com o jeitinho .NET
Dividindo para conquistar: microservicos com o jeitinho .NET
 
Seminário: PHP
Seminário: PHPSeminário: PHP
Seminário: PHP
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
TDC2016SP - Utilizando Azure Storage em app´s Xamarin
TDC2016SP - Utilizando Azure Storage em app´s XamarinTDC2016SP - Utilizando Azure Storage em app´s Xamarin
TDC2016SP - Utilizando Azure Storage em app´s Xamarin
 
Azure blob xamarin-tdc2016
Azure blob xamarin-tdc2016Azure blob xamarin-tdc2016
Azure blob xamarin-tdc2016
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
 
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
Fora Sobrinhos! Ecossistema para o desenvolvimento de aplicações corporativas...
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In Santos
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Programe na Velocidade da Luz
Programe na Velocidade da LuzPrograme na Velocidade da Luz
Programe na Velocidade da Luz
 
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
Mapeamento Objeto Relacional com PHP - PHP Conference Brasil 2010
 
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
TDC2018SP | Trilha PHP Essencial - O que nao fazer ao atualizar para o PHP 7
 

História e evolução PHP