Php05

37
Aula 05 Instrutor: José Fernando Santana Andrade [email protected] Desenvolvimento Web I

Transcript of Php05

Page 1: Php05

Aula 05

Instrutor: José Fernando Santana [email protected]

Desenvolvimento Web I

Page 2: Php05

05/01/13 Desenvolvimento Web I 2/37

Modularização

Page 3: Php05

05/01/13 Desenvolvimento Web I 3/37

Subproblema

Subproblema1 SubproblemaN

Problema

Page 4: Php05

05/01/13 Desenvolvimento Web I 4/37

Módulo

● Encapsulam o código da solução de subproblema do problema principal do algoritmo

Page 5: Php05

05/01/13 Desenvolvimento Web I 5/37

Exemplo

Quero fazer uma calculadora. Em quais módulos posso dividir meu problema principal ?

Page 6: Php05

05/01/13 Desenvolvimento Web I 6/37

Exemplo

Quero fazer uma calculadora. Em quais módulos posso dividir meu problema principal ?

Soma Divisão

Subtração Multiplicação

Page 7: Php05

05/01/13 Desenvolvimento Web I 7/37

Manipulação de funções

● Um pedaço de código com objetivo específico

● Recebe um conjunto de parâmetros● Retorna um dado

Page 8: Php05

05/01/13 Desenvolvimento Web I 8/37

Criação

● Utiliza-se o operador function seguindo do nome da função

● O nome deve começar obrigatoriamente por letra e sem espaços em branco

Page 9: Php05

05/01/13 Desenvolvimento Web I 9/37

Criação

function nome_da_funcao ($arg1,$arg2,$argN) {

comandos

return $valor_de_retorno;

}

Page 10: Php05

05/01/13 Desenvolvimento Web I 10/37

Exemplo

function soma($a,$b){

$valor = $a + $b;return $valor;

}

echo soma(3,2);

Page 11: Php05

05/01/13 Desenvolvimento Web I 11/37

Exercício

Defina uma função média, que receba 3 números e retorna a sua média.

Page 12: Php05

05/01/13 Desenvolvimento Web I 12/37

Exercício

function media($a,$b,$c){return ($a+$b+$c)/3;}

Page 13: Php05

05/01/13 Desenvolvimento Web I 13/37

Escopo de variáveis

● É a parte do script onde a variável pode ser referenciada– Local– Global

Page 14: Php05

05/01/13 Desenvolvimento Web I 14/37

Escopo local

● Uma variável declarada dentro de uma função PHP é local e só pode ser acessada dentro dessa função

● Podemos ter várias variáveis locais com mesmo nome em diferentes funções

● As variáveis locais são eliminadas logo quando a função é completada

Page 15: Php05

05/01/13 Desenvolvimento Web I 15/37

Escopo global

● Refere-se a qualquer variável que é definida fora de qualquer função

● As variáveis globais podem ser acessadas de qualquer lugar do script

● Para acessa uma variável global dentro de uma função usamos a palavra-chave global assim como para defini-la

● As variáveis globais são armazenadas dentro de um array chamado $GLOBALS[indice] , onde o índice é o nome da variável

Page 16: Php05

05/01/13 Desenvolvimento Web I 16/37

Exemplo

$total = 0;function km2mi($quilometros){

global $total;$total += $quilometros;return $quilometros * 0.6;

}echo 'percorreu '.km2mi(100).' milhas <br />';echo 'percorreu '.km2mi(200).' milhas <br />';echo 'percorreu no total '.$total.' quilometros';

Page 17: Php05

05/01/13 Desenvolvimento Web I 17/37

Passagem de parâmetro

● Por valor● Por referência

Page 18: Php05

05/01/13 Desenvolvimento Web I 18/37

Por valor

● O parâmetro passado é tratado como variável local dentro do contexto da função, não alterando o seu valor externo

Page 19: Php05

05/01/13 Desenvolvimento Web I 19/37

Exemplo

function incrementa($variavel,$valor){

$variavel +=$valor;}$a = 10;incrementa($a,10);echo $a;

Page 20: Php05

05/01/13 Desenvolvimento Web I 20/37

Por referência

● As transformações realizadas pela função sobre a variável é válida no contexto externo à função

● Utilizamos o operador & & junto ao parâmetro

Page 21: Php05

05/01/13 Desenvolvimento Web I 21/37

Exemplo

function incrementa(&$variavel,$valor){

$variavel +=$valor;}$a = 10;incrementa($a,10);echo $a;

Page 22: Php05

05/01/13 Desenvolvimento Web I 22/37

Exemplo

function incrementa(variavel,$valor = 40){

return $variavel +=$valor;}$a = 10;echo incrementa($a,10).”<br />”;echo incrementa($a).”<br />”;echo $a;

PHP permite definir valores default para parâmetros

Page 23: Php05

05/01/13 Desenvolvimento Web I 23/37

PHP e Formulários Web

Page 24: Php05

05/01/13 Desenvolvimento Web I 24/37

PHP e Formulários Web

<FORM NAME=”nome_form” ACTION=”script_processamento” METHOD=”Método de envio”>

Os formulários são delimitados pelas tags <FORM> </FORM>

Page 25: Php05

05/01/13 Desenvolvimento Web I 25/37

PHP e Formulários Web

● NOME: nome do formulário para referência em funções JavaScritp, por exemplo;

● ACTION: programa que é responsável pelo tratamento dos dados informados pelo usuário;

● METHOD: método de envio dos dados para o servidor HTTP.– POST– GET

Page 26: Php05

05/01/13 Desenvolvimento Web I 26/37

PHP e Formulários Web

Temos três tipos básicos de campos num formulário:

● INPUT● SELECT● TEXTAREA

Page 27: Php05

05/01/13 Desenvolvimento Web I 27/37

PHP e Formulários Web

<INPUT TYPE=”tipo” NAME=”nome” VALUE=”valor inicial” SIZE=”tamanho” MAXLENGTH=”Máximo de caracteres” [CHECKED]>

➢ TYPE: define o tipo de campo

TEXT → campo de texto

PASSWORD → senha

CHECKBOX → campo de marcação

RADIO → escolha entre várias opções

Page 28: Php05

05/01/13 Desenvolvimento Web I 28/37

PHP e Formulários Web

HIDEN → campo oculto, serve para enviar dados ao servidor sem a interferência do usuário

SUBMIT → botão de envio do formulário

RESET → limpeza do formulário, retornando os campos para seu valor inicial

IMAGE → opção ao tipo SUBMIT, em que o botão é trocado pela imagem informada, deve-se usar o atributo SRC para informar o nome da imagem

Page 29: Php05

05/01/13 Desenvolvimento Web I 29/37

PHP e Formulários Web

NAME → identificador para o campo do formulário

VALUE → valor inicial do campo

SIZE → tamanho do controle gerado

MAXLENGHT → define o número máximo de caracteres (text e password)

CHECKED → define se o campo deve estar inicialmente marcado (radio e checkbox)

Page 30: Php05

05/01/13 Desenvolvimento Web I 30/37

PHP e Formulários Web

<SELECT NAME=”nome” SIZE=”tamanho” [MULTIPLE]><OPTION VALUE=”valor” [SELECTED]>Texto</OPTION>…

</SELECT>

NAME → identificador para o campo do formulário

SIZE → tamanho em número de linhas da lista

MULTIPLE → indica que o usuário pode selecionar várias opções

Page 31: Php05

05/01/13 Desenvolvimento Web I 31/37

PHP e Formulários Web

VALUE → valor do campo para essa opção

SELECTED → indica que essa opção deve ser marcada como selecionada

Texto → texto que será exibido na lista de opções

Page 32: Php05

05/01/13 Desenvolvimento Web I 32/37

PHP e Formulários Web

NAME → identificador para o campo do formulário

ROWS → número de linhas

COLS → número de colunas

<TEXTAREA NAME=”nome” ROWS=”linhas” COLS=“colunas”>Texto padrão, se necessário

</TEXTAREA>

Page 33: Php05

05/01/13 Desenvolvimento Web I 33/37

Exercício I

Crie uma função lista_estados para tornar o formulário do exemplo mais dinâmico. A função devera criar o campo select do formulário contendo os estados como opções.

Page 34: Php05

05/01/13 Desenvolvimento Web I 34/37

Exercício II

Crie um formulário que contenha os campos código com 10 posições, nome com 30 posições (ambos texto), faixa etária com as opções até 10 anos, entre 10 e 15, entre 15 e 20, entre 20 e 30 e acima de 30 anos.

Page 35: Php05

05/01/13 Desenvolvimento Web I 35/37

Exercício III

Crie um programa PHP para tratar o formulário do exercício II. Deve ser mostrado o nome e o código e em qual categoria o usuário se encaixa de acordo com sua idade:

Até 10 anos → Categoria A

Entre 10 e 15→ Categoria B

Entre 15 e 20→ Categoria C

Entre 20 e 30→ Categoria D

Acima de 30 → Categoria E

Page 36: Php05

05/01/13 Desenvolvimento Web I 36/37

Exercício IV

Crie um formulário que contenha os campos nome (text), sobrenome (text), curso (radio) e linguagens que conhece (checkbox). Por fim crie um programa em PHP que mostre os dados informados pelo usuário.

Para campos com mais de um valor usar o atributo name como um array

→ name= “nome[]”

Page 37: Php05

05/01/13 Desenvolvimento Web I 37/37

Obrigado!