Php, eu escolho você! @ UFJF
-
Upload
claudson-oliveira -
Category
Technology
-
view
795 -
download
1
Transcript of Php, eu escolho você! @ UFJF
![Page 1: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/1.jpg)
<?PHP,
Eu escolho você!
Universidade Federal de Juiz de Fora
2012
![Page 3: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/3.jpg)
Start!
![Page 4: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/4.jpg)
Origem
Criador: Rasmus Lerdorf
Personal HomePage Tools : 1995
![Page 5: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/5.jpg)
Como funciona
Linguagem do lado do servidor
![Page 6: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/6.jpg)
“Ciclo de vida”
![Page 7: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/7.jpg)
Escrevendo
![Page 8: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/8.jpg)
Escrevendo
Define o escopo do php
![Page 9: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/9.jpg)
Escrevendo
Instrução para imprimir na tela.
Define o escopo do php
![Page 10: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/10.jpg)
Escrevendo
1 Multiparadigma
![Page 11: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/11.jpg)
Variáveis
![Page 12: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/12.jpg)
Variáveis
![Page 13: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/13.jpg)
Variáveis
Inteiro
![Page 14: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/14.jpg)
Variáveis
Inteiro Real
![Page 15: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/15.jpg)
Variáveis
Inteiro Real
Texto
![Page 16: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/16.jpg)
E se você não dissesse o tipo das variáveis?
![Page 17: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/17.jpg)
E se você não dissesse o tipo das variáveis?
Tipagem dinâmica!!!
![Page 18: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/18.jpg)
Variáveis
![Page 19: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/19.jpg)
Variáveis
Variáveis começam com $
![Page 20: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/20.jpg)
Concatenação
![Page 21: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/21.jpg)
Concatenação
concatena
![Page 22: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/22.jpg)
Concatenação
Forma mais eficaz
![Page 23: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/23.jpg)
Concatenação
Erro !?
![Page 24: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/24.jpg)
Concatenação
Interpretação literal!
![Page 25: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/25.jpg)
Variáveis variáveis
![Page 26: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/26.jpg)
Variáveis variáveis
2 Variáveis variáveis
![Page 27: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/27.jpg)
Array
![Page 28: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/28.jpg)
Array
![Page 29: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/29.jpg)
Array
Variável com 3 valores
![Page 30: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/30.jpg)
Array
3 var_dump()
![Page 31: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/31.jpg)
Array
![Page 32: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/32.jpg)
Array
Definindo que $info é um array
![Page 33: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/33.jpg)
Array
$info na posição 0 (zero) recebe “valor
1”
![Page 34: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/34.jpg)
Array
$info na posição 1 (um) recebe 8
![Page 35: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/35.jpg)
Array
![Page 36: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/36.jpg)
Array
Explicitando as posições do array
![Page 37: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/37.jpg)
Array
![Page 38: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/38.jpg)
Array
Não é preciso manter uma ordem nas posições
![Page 39: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/39.jpg)
Percorrendo arrays
![Page 40: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/40.jpg)
Array associativo
![Page 41: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/41.jpg)
Array associativo
chave
![Page 42: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/42.jpg)
Array associativo
chave
Valor
![Page 43: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/43.jpg)
Array associativo
Chaves de tipos primitivos. Valores de
qualquer tipo.
![Page 44: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/44.jpg)
Array associativo
4 arrays
![Page 45: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/45.jpg)
Usando métodos do HTTP com arrays
![Page 46: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/46.jpg)
Método GET
![Page 47: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/47.jpg)
Método GET
• “Pegar conteúdo”
![Page 48: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/48.jpg)
Método GET
• “Pegar conteúdo”
• Variáveis passadas na url
– ?q=php&lang=pt
![Page 49: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/49.jpg)
Método GET
• “Pegar conteúdo”
• Variáveis passadas na url
– ?q=php&lang=pt
![Page 50: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/50.jpg)
Método GET
• Array global $_GET
![Page 51: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/51.jpg)
Método GET
• Array global $_GET
• Index.php?curso=php&aluno=marcus
![Page 52: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/52.jpg)
Método GET
• Array global $_GET
• Index.php?curso=php&aluno=marcus
• var_dump ?
![Page 53: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/53.jpg)
Método POST
• Enviar/postar conteúdo
![Page 54: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/54.jpg)
Método POST
• Enviar/postar conteúdo
• “variaveis” são passadas dentro da mensagem
![Page 55: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/55.jpg)
Método POST
• Enviar/postar conteúdo
• “variaveis” são passadas dentro da mensagem
• $_POST
![Page 56: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/56.jpg)
Método POST
![Page 57: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/57.jpg)
HTTP é um protocolo sem estado!
![Page 58: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/58.jpg)
Como guardar informações entre
requisições?
![Page 59: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/59.jpg)
Sessions
![Page 60: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/60.jpg)
Sessões
• Arquivo contendo histórico do usuário
![Page 61: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/61.jpg)
Sessões
• Arquivo contendo histórico do usuário
• Tempo de expiração
![Page 62: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/62.jpg)
Sessões
• Arquivo contendo histórico do usuário
• Tempo de expiração
• Array $_SESSION
![Page 63: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/63.jpg)
Sessões
![Page 64: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/64.jpg)
Sessões
Habilita o uso de sessões
![Page 65: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/65.jpg)
Sessões
Guarda valores na sessão
![Page 66: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/66.jpg)
Sessões
Crie esse script!
![Page 67: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/67.jpg)
Sessões
Crie outro arquivo!
![Page 68: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/68.jpg)
Funções
![Page 69: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/69.jpg)
Funções
![Page 70: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/70.jpg)
Funções
Vamos chamar a função!
![Page 71: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/71.jpg)
Funções anônimas
![Page 72: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/72.jpg)
Funções anônimas
Silex !!!
![Page 73: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/73.jpg)
Funções anônimas
Bloco de código usado somente para este caso
![Page 74: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/74.jpg)
Funções anônimas
Closure!!!!
![Page 75: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/75.jpg)
Funções anônimas
![Page 76: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/76.jpg)
Funções anônimas
Quais os valores do vetor $dobro?
![Page 77: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/77.jpg)
Funções anônimas
5 Funções anônimas
![Page 78: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/78.jpg)
Classes
![Page 79: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/79.jpg)
Classes
![Page 80: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/80.jpg)
Classes
Características públicas
![Page 81: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/81.jpg)
Classes
![Page 82: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/82.jpg)
Classes
Métodos possuem a mesmas regras
das funções
![Page 83: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/83.jpg)
Classes
Variável $this representa a
própria instância da classe
![Page 84: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/84.jpg)
Objetos
• São Classes “vivas”
![Page 85: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/85.jpg)
Objetos
• São Classes “vivas”
$usuario é um Jogador
![Page 86: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/86.jpg)
Objetos
• São Classes “vivas”
Valores para os atributos
![Page 87: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/87.jpg)
Objetos
• São Classes “vivas”
Chamando um método
![Page 88: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/88.jpg)
Métodos
![Page 89: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/89.jpg)
Métodos
Sobrecarga de método!!
![Page 90: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/90.jpg)
Métodos mágicos(?)
![Page 91: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/91.jpg)
Métodos mágicos
![Page 92: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/92.jpg)
$you->go();
![Page 93: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/93.jpg)
Continue!!
• http://php.net/
• http://github.com/
• http://phpmg.com/
• http://www.symfony-project.org/
• http://silex.sensiolabs.org/
• http://twig.sensiolabs.org/
• http://doctrine-project.org/
• http://packagist.org/
![Page 94: Php, eu escolho você! @ UFJF](https://reader034.fdocument.pub/reader034/viewer/2022052622/558cdf59d8b42a3b768b4598/html5/thumbnails/94.jpg)
Obrigado!