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.
14. 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.”
15. 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
18. 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
22. 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
24. 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
25. 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
26. 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
27. 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
31. 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