TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
O documento discute as principais mudanças internas no PHP 7, incluindo uma árvore de sintaxe abstrata, melhorias na gestão de memória e tipos, e as perspectivas futuras para o PHP.
Globalcode – Open4education
RasmusLerdorf 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.”
15.
Globalcode – Open4education
2000
PHP4: 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
2015
PHP7: 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
2015
PHP7: 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
Mudançasdo 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
25.
Globalcode – Open4education
PHP7.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
26.
Globalcode – Open4education
PHP7.2
Tipo "object"
Contagem de objetos "non-contable"
Removida a extensão "Mcrypt"
Nova extensão "sodium"
Argon2 para hash de senhas
27.
Globalcode – Open4education
Melhoriasinternas 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
Otimizaçãode 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