SlideShare uma empresa Scribd logo
1 de 77
Baixar para ler offline
Marcel Gonçalves dos Santos
@marcelgsantos
T
Introdução a
Tipos em PHP
pensandonaweb.com.br
desenvolvedor web full-stack
Marcel Gonçalves dos Santos
@marcelgsantos
@phpsp
phpsp.org.br
@femugsp
sp.femug.com
Learning OOP in PHP
Tutoriais, vídeos, slides, livros sobre OOP, OOD,
design patterns, refatoração e arquitetura.
bit.ly/Learning-OOP-in-PHP
O que são tipos?
conjunto de valores
valores são agrupados por
tipos
define quais operações
podem ser efetuadas
possui cardinalidade
forma como o valor é
armazenado e recuperado
não é só sobre espaço
ocupado na memória
define o significado
semântico do valor
O que é
sistema de tipos?
ajuda a reduzir
possibilidade de erros
permite otimização em
tempo de execução
funciona como
documentação
pode ser interno ou
externo a linguagem
Como os tipos podem
ser classificados?
primitivo, composto ou
recursivo
tipagem estática ou
dinâmica
tipagem estática
todos os atributos,
parâmetros e retornos de
funções devem ser tipadas
tipagem dinâmica
nenhum atributo, parâmetro
ou retornos de funções
precisam ser tipadas
tipagem forte ou fraca
tipagem forte
os tipos mudam
explicitamente e tipos
inválidos são sempre erros
tipagem fraca
os tipos mudam
implicitamente e tipos
inválidos são convertidos
automaticamente
Operações comuns
relacionadas à tipos
a checagem de tipo é um
processo de verificação e
garantia das restrições de
tipos
a checagem de tipo pode
ser executada em tempo de
compilação ou execução
o erro de tipo ocorre se o
programa executa uma
operação com tipos
incompatíveis
a coerção é a conversão
automática de tipos
a inferência de tipos permite
que o programador não
explicite os tipos
Como os tipos
funcionam no PHP?
são divididos em tipos
escalares, compostos e
especiais
escalares
boolean, integer, float ou
string
Exemplo 1
compostos
array, object ou callable
Exemplo 2
especiais
resource e null
Exemplo 3
também existem os
pseudo-tipos
pseudo-tipos
mixed, number, callback,
array|object e void
Exemplo 4
os tipos são definidos em
tempo de execução
as funções var_dump e
gettype são utilizadas para
conhecer o tipo da variável
ou expressão
Exemplo 5
// Define variáveis de diversos tipos
$a_boolean = true;
$an_int = 10;
$a_float = 3.14;
$a_string = 'joe';
$a_null = null;
$a_array = [];
$a_callable = function() { return 'Hey!'; };
$a_object = new stdClass;
Exemplo 6
// Obtém o valor e o tipo das variáveis
// utilizando a função var_dump()
var_dump($a_boolean); // bool(true)
var_dump($an_int); // int(10)
var_dump($a_float); // float(3.14)
var_dump($a_string); // string(3) "joe"
var_dump($a_null); // NULL
var_dump($a_array); // array(0) {}
var_dump($a_callable); // object(Closure)#1 (0) {}
var_dump($a_object); // object(stdClass)#2 (0) {}
Exemplo 7
// Obtém o tipo das variáveis utilizando a
// função gettype()
echo gettype($a_boolean) . PHP_EOL; // boolean
echo gettype($an_int) . PHP_EOL; // integer
echo gettype($a_float) . PHP_EOL; // double
echo gettype($a_string) . PHP_EOL; // string
echo gettype($a_null) . PHP_EOL; // NULL
echo gettype($a_array) . PHP_EOL; // array
echo gettype($a_callable) . PHP_EOL; // object
echo gettype($a_object) . PHP_EOL; // object
as funções is_int, is_boolean,
is_string, is_array são utiliza-
das para verificar o tipo da
variável ou expressão
Exemplo 8
// Verifica se as variáveis são de determinado
// tipo utilizando as funções is_*()
var_dump(is_bool($a_boolean)); // bool(true)
var_dump(is_bool($an_int)); // bool(false)
var_dump(is_int($an_int)); // bool(true)
var_dump(is_int($a_float)); // bool(false)
var_dump(is_float($a_float)); // bool(true)
var_dump(is_float($a_string)); // bool(false)
var_dump(is_string($a_string)); // bool(true)
var_dump(is_string($a_null)); // bool(false)
var_dump(is_null($a_null)); // bool(true)
var_dump(is_null($a_array)); // bool(false)
conversão explícita e
automática
Exemplo 9
// Conversão de valores entre tipos
var_dump((bool) "1.5"); // bool(true)
var_dump((int) "1.5"); // int(1)
var_dump((float) "1.5"); // float(1.5)
var_dump((unset) "1.5"); // NULL
var_dump((string) 1.5); // string(3) "1.5"
var_dump((array) 1.5);
// array(1) { [0] => float(1.5) }
var_dump((array) "1.5");
// array(1) { [0] => string(3) "1.5" }
var_dump((object) 1.5);
// object(stdClass)#1 (1) {["scalar"] => …
var_dump((object) "1.5");
// object(stdClass)#1 (1) {["scalar"] => …
Exemplo 10
// Conversão automática de tipos utilizando
// o operador de adição
$var = "0";
var_dump($var); // string(2) "0"
$var += 5;
var_dump($var); // int(5)
$var = $var + 3.1;
var_dump($var); // float(8.1)
$var = 5 + "10 cachorros";
var_dump($var); // int(15)
type hints
1. tipos escalares
2. classes e interfaces
3. arrays e callables
Exemplo 11
// Declaração de tipos utilizando classes
class Mammal {}
class Cat extends Mammal {}
class Duck {}
function sayHi(Mammal $mammal) {
echo 'Hi ' . get_class($mammal) . '!';
}
sayHi(new Mammal); // Hi Mammal!
sayHi(new Cat); // Hi Cat!
// sayHi(new Duck); // PHP Fatal error: Uncaught
TypeError: Argument 1 passed to sayHi() must be
an instance of Mammal, instance of Duck given
modo estrito
Exemplo 12
declare(strict_types=0);
// conversão do tipo float para inteiro
function sum(int $a, int $b) {
return $a + $b;
}
var_dump(sum(1, 2)); // int(3)
var_dump(sum(1.5, 2.5)); // int(3)
var_dump(sum("2", "5")); // int(7)
var_dump(sum(true, true)); // int(2)
var_dump(sum("2 gatos", "3 ratos")); // int(5)
PHP Notice: A non well formed numeric value
encountered
Exemplo 13
declare(strict_types=1);
// dispara uma exceção quando são informados
// valores que não são dos tipos declarados
function sum(int $a, int $b) {
return $a + $b;
}
var_dump(sum(1, 2)); // int(3)
// var_dump(sum(1.5, 2.5)); // PHP Fatal error:
Uncaught TypeError: Argument 1 passed to sum()
must be of the type integer, float given
declaração de tipos de
retorno
Exemplo 14
// O valor de retorno é convertido para o tipo
// correto caso não sejam do tipo informado
function sum($a, $b): int {
return $a + $b;
}
var_dump(sum(1, 2)); // int(3)
var_dump(sum(1.7, 2.5)); // int(4)
var_dump(sum(true, true)); // int(2)
var_dump(sum("3 peixes", "5 patos")); // int(8)
Exemplo 15
declare(strict_types=1);
// A função dispara uma exceção quando são infor-
// mados valores que não são dos tipos declarados
function sum($a, $b): int {
return $a + $b;
}
var_dump(sum(1, 2)); // int(3)
// var_dump(sum(1.7, 2.5)); // PHP Fatal error:
Uncaught TypeError: Return value of sum()
must be of the type integer, float
var_dump(sum(true, true)); // int(2)
var_dump(sum("3 peixes", "5 patos")); // int(8)
TypeError é lançado caso
tenha problemas de tipo
Exemplo 16
declare(strict_types=1);
// Capturando erro
try {
var_dump(sum(1, 2)); // int(3)
var_dump(sum(...[4, 5])); // int(9)
var_dump(sum(1.5, 2.5)); // Error: Return
value of sum() must be of the type integer,
float returned
} catch (TypeError $e) {
echo 'Error: ' . $e->getMessage();
}
operadores de tipo
Exemplo 17
// Utilização do operador de tipos `instanceof`
class Cat {}
class Dog {}
$cat = new Cat;
var_dump($cat instanceof Cat); // bool(true)
var_dump($cat instanceof Dog); // bool(false)
Como os tipos
funcionam na Hack?
a linguagem Hack possui
tipagem forte
na linguagem Hack declara-
se o tipo de membros de
classe
possui verificação estática
de tipos
possui diferentes tipos
como tipos genéricos,
tuplas, conjuntos e type
aliases
O que vem por aí?
o nullable type permite que
seja utilizado um valor do
tipo especificado ou nulo
Exemplo 18
// No PHP 7.0 funções não aceitam valores
// nulos como argumento
function increment(int $a) {
return $a + 1;
}
var_dump(increment(8)); // int(9)
// var_dump(increment(null)); // TypeError:
Argument 1 passed to increment() must be of
the type integer, null given
Exemplo 19
// No PHP 7.1 funções aceitam nulos como
// argumento utilizando ? antes do nome do tipo
function increment2(?int $a) {
return $a + 1;
}
var_dump(increment2(5)); // int(9)
var_dump(increment2(null)); // int(1)
// var_dump(increment2()); // PHP Fatal error:
Uncaught ArgumentCountError: Too few arguments
to function increment2(), 0 passed
tipo de retorno void
submissão de RFCs sobre
union types e genéricos
Avalie!
https://joind.in/talk/b6fad
Perguntas?
Obrigado.
@marcelgsantos
speakerdeck.com/marcelgsantos

Mais conteúdo relacionado

Mais procurados (20)

Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem C
 
Introdução ao JavaScript
Introdução ao JavaScriptIntrodução ao JavaScript
Introdução ao JavaScript
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Java
JavaJava
Java
 
Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01Algoritmos C/C++ - Aula 01
Algoritmos C/C++ - Aula 01
 
Swift!.opcionais.oh!.my()?!?
Swift!.opcionais.oh!.my()?!?Swift!.opcionais.oh!.my()?!?
Swift!.opcionais.oh!.my()?!?
 
Javafx Introdução
Javafx IntroduçãoJavafx Introdução
Javafx Introdução
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
2ª aula php
2ª aula php2ª aula php
2ª aula php
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - Comparando
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao php
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Javascript Avançado
Javascript AvançadoJavascript Avançado
Javascript Avançado
 
Ling c
Ling cLing c
Ling c
 
PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)PHP: operadores e variáveis (TGPSI)
PHP: operadores e variáveis (TGPSI)
 

Semelhante a Tipos em PHP

Semelhante a Tipos em PHP (20)

Php
PhpPhp
Php
 
Perl Moderno, dia4
Perl Moderno, dia4Perl Moderno, dia4
Perl Moderno, dia4
 
JavaScript - De verdade
JavaScript - De verdadeJavaScript - De verdade
JavaScript - De verdade
 
PHP fora da Web
PHP fora da WebPHP fora da Web
PHP fora da Web
 
Introdução PHP + Kohana 3
Introdução PHP + Kohana 3Introdução PHP + Kohana 3
Introdução PHP + Kohana 3
 
Curso de Introdução - PHP
Curso de Introdução - PHPCurso de Introdução - PHP
Curso de Introdução - PHP
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Aula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQLAula 02 - Curso PHP e MySQL
Aula 02 - Curso PHP e MySQL
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Aula4
Aula4Aula4
Aula4
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Variáveis
VariáveisVariáveis
Variáveis
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Introdução ao PHP Parte 2
Introdução ao PHP Parte 2Introdução ao PHP Parte 2
Introdução ao PHP Parte 2
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
PHP 7
PHP 7PHP 7
PHP 7
 
PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7
 
Php
PhpPhp
Php
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na Prática
 

Mais de tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptxSEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptxCompartilhadoFACSUFA
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficasprofcamilamanz
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Transformações isométricas.pptx Geometria
Transformações isométricas.pptx GeometriaTransformações isométricas.pptx Geometria
Transformações isométricas.pptx Geometriajucelio7
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 

Último (20)

11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptxSEMINÁRIO QUIMICA AMBIENTAL -  PPGEEA - FINAL.pptx
SEMINÁRIO QUIMICA AMBIENTAL - PPGEEA - FINAL.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Atividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas GeográficasAtividades sobre Coordenadas Geográficas
Atividades sobre Coordenadas Geográficas
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Transformações isométricas.pptx Geometria
Transformações isométricas.pptx GeometriaTransformações isométricas.pptx Geometria
Transformações isométricas.pptx Geometria
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 

Tipos em PHP