#tbt do PHP, a evolução da
linguagem nos últimos 30
anos
Slide 2
Slide 2 text
Quem sou eu? Sou este ai
https://creativecommons.org/licenses/by-sa/4.0/
https://redrat.com.br
Slide 3
Slide 3 text
Eu não sou uma entidade divina
O que eu falo não é
uma verdade absoluta, não tenha
medo de questionar
Slide 4
Slide 4 text
Antes de falarmos
do PHP de hoje
Temos que falar
do PHP do ontem
Slide 5
Slide 5 text
●
Criado em 1994 por Rasmus Lerdof
●
Conjunto de binários Common Gateway Interface
●
Foi escrito na linguagem de programação C
●
Em 1995 o código fonte foi aberto ao público
●
Em 1996 evoluiu para linguagem de programação
Onde tudo começou
Slide 6
Slide 6 text
PHP 3 e PHP 4
●
Primeira versão que se assemelha com o PHP atual
●
Porém, ainda ineficiente
●
Andi Gutmans e Zeev Suraski se juntam ao projeto
●
Reescrita da linguagem
●
Surgimento do Zend engine
●
Primeiros passos da Orientação a Objetos
Slide 7
Slide 7 text
PHP 5 e o OOP
●
Consolidação da Orientação a Objetos
●
Zend Engine 2
●
Suporte a PHP Data Objects (PDO)
●
Várias melhorias de performance
●
Versões 32bit e 64bit
Slide 8
Slide 8 text
Mas nem tudo eram flores
PHP era uma terra sem lei
Slide 9
Slide 9 text
PHP 5.3 e o divisor de águas
●
Suporte a Namespaces
●
Lambda Functions e Closures
●
Late static binding
●
Mais melhorias de performance
Slide 10
Slide 10 text
Namespaces
Antes Depois
Slide 11
Slide 11 text
PHP 5.4 e o Composer
●
Built-in web server
●
Suporte a Traits
●
Shortened array syntax
●
E mais melhorias de performance
Slide 12
Slide 12 text
PHP Built-in web server
Slide 13
Slide 13 text
Traits
Slide 14
Slide 14 text
Composer e Packagist
Slide 15
Slide 15 text
PHP AC (Antes do Composer)
Slide 16
Slide 16 text
PHP DC (Depois do Composer)
Slide 17
Slide 17 text
Mas Joubert, e a zona que cada
programador faz
no código?
Slide 18
Slide 18 text
PHP Standards Recommendations
PHP Framework Interop Group
Slide 19
Slide 19 text
https://www.php-fig.org/personnel/
Slide 20
Slide 20 text
PHP 5.5 e 5.6
●
Suporte a scalar class name resolution
●
Suporte a finally para exceptions
●
Variadic functions
●
E mais melhorias de performance no Zend Opcache
Slide 21
Slide 21 text
PHP 7.0 - A revolução
●
Todo reescrito, de novo
●
Nova versão do Zen...
Slide 22
Slide 22 text
Uai, cadê o PHP 6?
https://wiki.php.net/rfc/php6
Slide 23
Slide 23 text
PHP 7.0 - A revolução
●
Todo reescrito, de novo
●
Nova versão do Zend Engine, versão 3
●
Duas vezes mais rápido que o PHP 5.6
●
50% menos consumo de memória
●
Scalar e Return types declarations
●
E muito, muito mais
Slide 24
Slide 24 text
PHP 7.0 - Performance
Slide 25
Slide 25 text
PHP 7.0 - Performance
Slide 26
Slide 26 text
PHP 7.0 - Scalar e return type declarations
Antes Depois
Slide 27
Slide 27 text
PHP 7.1, 7.2 e 7.3
●
Nullable types
●
Void return type
●
Object scalar and return type
●
Suporte a Libsodium
●
Argon2 para hash de senhas
●
Mais melhorias de performance
●
E também muito mais
Slide 28
Slide 28 text
PHP 7.4
●
Typed properties
●
Arrow Functions
●
Numeric literal separator
●
FFI
●
Opcache Preloading
●
E também muito mais
Slide 29
Slide 29 text
PHP 7.4 - Typed properties
Antes Depois
Slide 30
Slide 30 text
PHP 8.0 - Mais sexy do que nunca!
●
Named arguments
●
Suporte a annotations com Attributes
●
Constructor property promotion
●
Union types
●
Just-In-Time compilation
●
E muito, muito mais
Slide 31
Slide 31 text
PHP 8.1 e 8.2
●
Enumerations
●
Readonly properties
●
Readonly classes
●
Allow null, false, and true as stand-alone types
●
Constants in traits
●
E também muito mais
Slide 32
Slide 32 text
PHP 8.1 - Readonly properties
Antes Depois
Slide 33
Slide 33 text
PHP 8.2 - Readonly classes
Antes Depois
Slide 34
Slide 34 text
PHP 8.3, 8.4, etc
AGUARDE
Em breve, no seu computador
Slide 35
Slide 35 text
Mas Joubert, eu ouço
que o PHP vai morrer
Slide 36
Slide 36 text
PHP Hoje
●
Linguagem mais usada na web ~80%
●
Só Wordpress é cerca de ~34%
●
Uma das linguagens mais maduras
●
Ampla comunidade mundial
●
Linguagem de fácil aprendizado
●
Linguagem de fácil operação
Slide 37
Slide 37 text
PHP Hoje
Slide 38
Slide 38 text
Mas Joubert, projetos
open source é facil.
E as empresas?
Slide 39
Slide 39 text
PHP Hoje
Slide 40
Slide 40 text
No content
Slide 41
Slide 41 text
Perguntas?
Slide 42
Slide 42 text
Esta e outras palestras
https://bit.ly/joubertredrat-palestras