Slide 1

Slide 1 text

Tipos de Dados do PHP7 Tipos de Dados do PHP7 Photo by on Jordan Heinrichs Unsplash 2019-10-05 @ 4º PHP Vale Meetup Davi Marcondes Moreira - @devdrops Evolua seu código!

Slide 2

Slide 2 text

whoami whoami > Davi Marcondes Moreira > @devdrops > Desenvolvedor de Software @ Pagar.me > PHP, JavaScript, Kotlin, Go > Terminal é puro ♥ > Defensor do home office e trabalho remoto > Doido por MTB/XCO > Café é a minha religião

Slide 3

Slide 3 text

Tipos? Tipos? Mas o que são Mas o que são

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Representação dos dados Representação dos dados

Slide 6

Slide 6 text

Representação dos dados Representação dos dados Possibilidades Possibilidades

Slide 7

Slide 7 text

Representação dos dados Representação dos dados Possibilidades Possibilidades Características Características

Slide 8

Slide 8 text

Triângulo Círculo Quadrado

Slide 9

Slide 9 text

Triângulo Círculo Quadrado Boolean Integers Strings

Slide 10

Slide 10 text

Triângulo Círculo Quadrado Boolean Integers Strings Lanchas Jetskis Banhistas

Slide 11

Slide 11 text

Tipada? Tipada? E o que é uma linguagem E o que é uma linguagem

Slide 12

Slide 12 text

Estritos Estritos Photo by on Alex King Unsplash

Slide 13

Slide 13 text

Dinâmicos Dinâmicos Photo by on Steve Johnson Unsplash

Slide 14

Slide 14 text

PHP? PHP? E onde entra o E onde entra o

Slide 15

Slide 15 text

Objetos (PHP 5.0) Arrays (PHP 5.1) Callable (PHP 5.4) Escalares (PHP 7.0)

Slide 16

Slide 16 text

Tipos Suportados Tipos Suportados > boolean > integer > float > string > array > object > callable > iterable > resource > null > mixed > number > callback > array|object > void

Slide 17

Slide 17 text

Slide 18

Slide 18 text

Retornos Retornos Parâmetros e Parâmetros e

Slide 19

Slide 19 text

Exemplo 1 Exemplo 1

Slide 20

Slide 20 text

Slide 21

Slide 21 text

Slide 22

Slide 22 text

Exemplo 4 Exemplo 4

Slide 23

Slide 23 text

Exemplo 5 Exemplo 5

Slide 24

Slide 24 text

Exemplo 6 Exemplo 6

Slide 25

Slide 25 text

Exemplo 7 Exemplo 7

Slide 26

Slide 26 text

Exemplo 8 Exemplo 8

Slide 27

Slide 27 text

Classes Classes Propriedades de Propriedades de Em implementação para PHP 7.4

Slide 28

Slide 28 text

Exemplo 9 Exemplo 9 name = $name; } public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = $name; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Slide 29

Slide 29 text

Exemplo 10 Exemplo 10 name = $name; } } 1 2 3 4 5 6 7 8 9 10

Slide 30

Slide 30 text

Variáveis? Variáveis? Mas e as Mas e as

Slide 31

Slide 31 text

Os tipos são determinados Os tipos são determinados pelo pelo contexto contexto onde são onde são usadas usadas

Slide 32

Slide 32 text

Slide 33

Slide 33 text

Conclusões Conclusões

Slide 34

Slide 34 text

- Tipos ajudam a tornar a intenção do código mais explícita. - Oferecem uma garantia de contrato, sem necessidade de filtrar inputs com intval() e outras funções. - 100% compatível com a flexibilidade do PHP, use se quiser! - Não quebra compatibilidade com outras bibliotecas.

Slide 35

Slide 35 text

Dúvidas? Dúvidas?

Slide 36

Slide 36 text

Referências Referências - https://en.wikipedia.org/wiki/Strong_and_weak_typing - https://wiki.php.net/rfc/return_types - https://wiki.php.net/rfc/scalar_type_hints_v5 - https://wiki.php.net/rfc/typed_properties_v2 - https://www.php.net/manual/en/language.types.php - https://blog.ircmaxell.com/2015/02/scalar-types-and-php.html - https://blog.pascal-martin.fr/post/in-favor-of-rfc-scalar-type-hints/ - https://pensandonaweb.com.br/o-que-ha-de-novo-no-php-7-4/

Slide 37

Slide 37 text

Muito obrigado! Muito obrigado! bit.ly/tipos-php7-phpvale github.com/devdrops/php7-tipos-de-dados @devdrops https://forms.gle/9CAPvAPHbNrkWXRP7