Slide 1

Slide 1 text

#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

Slide 43

Slide 43 text

Obrigado