3. Subproblema
Problema
Subproblema1 SubproblemaN
05/01/13 Desenvolvimento Web I 3/37
4. Módulo
● Encapsulam o código da solução de
subproblema do problema principal do
algoritmo
05/01/13 Desenvolvimento Web I 4/37
5. Exemplo
Quero fazer uma calculadora. Em quais
módulos posso dividir meu problema
principal ?
05/01/13 Desenvolvimento Web I 5/37
6. Exemplo
Quero fazer uma calculadora. Em quais
módulos posso dividir meu problema
principal ?
Soma Divisão
Subtração Multiplicação
05/01/13 Desenvolvimento Web I 6/37
7. Manipulação de funções
● Um pedaço de código com objetivo
específico
● Recebe um conjunto de parâmetros
● Retorna um dado
05/01/13 Desenvolvimento Web I 7/37
8. 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
05/01/13 Desenvolvimento Web I 8/37
9. Criação
function nome_da_funcao ($arg1,$arg2,$argN)
{
comandos
return $valor_de_retorno;
}
05/01/13 Desenvolvimento Web I 9/37
10. Exemplo
function soma($a,$b)
{
$valor = $a + $b;
return $valor;
}
echo soma(3,2);
05/01/13 Desenvolvimento Web I 10/37
11. Exercício
Defina uma função média, que receba 3
números e retorna a sua média.
05/01/13 Desenvolvimento Web I 11/37
12. Exercício
function media($a,$b,$c)
{
return ($a+$b+$c)/3;
}
05/01/13 Desenvolvimento Web I 12/37
13. Escopo de variáveis
● É a parte do script onde a variável pode ser
referenciada
– Local
– Global
05/01/13 Desenvolvimento Web I 13/37
14. 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
05/01/13 Desenvolvimento Web I 14/37
15. 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
05/01/13 Desenvolvimento Web I 15/37
16. 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';
05/01/13 Desenvolvimento Web I 16/37
18. Por valor
● O parâmetro passado é tratado como
variável local dentro do contexto da função,
não alterando o seu valor externo
05/01/13 Desenvolvimento Web I 18/37
19. Exemplo
function incrementa($variavel,$valor)
{
$variavel +=$valor;
}
$a = 10;
incrementa($a,10);
echo $a;
05/01/13 Desenvolvimento Web I 19/37
20. 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
05/01/13 Desenvolvimento Web I 20/37
21. Exemplo
function incrementa(&$variavel,$valor)
{
$variavel +=$valor;
}
$a = 10;
incrementa($a,10);
echo $a;
05/01/13 Desenvolvimento Web I 21/37
22. 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
05/01/13 Desenvolvimento Web I 22/37
24. PHP e Formulários Web
Os formulários são delimitados pelas tags <FORM> </FORM>
<FORM NAME=”nome_form” ACTION=”script_processamento”
METHOD=”Método de envio”>
05/01/13 Desenvolvimento Web I 24/37
25. 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
05/01/13 Desenvolvimento Web I 25/37
26. PHP e Formulários Web
Temos três tipos básicos de campos num
formulário:
● INPUT
● SELECT
● TEXTAREA
05/01/13 Desenvolvimento Web I 26/37
27. 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
05/01/13 Desenvolvimento Web I 27/37
28. 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
05/01/13 Desenvolvimento Web I 28/37
29. 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)
05/01/13 Desenvolvimento Web I 29/37
30. 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
05/01/13 Desenvolvimento Web I 30/37
31. 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
05/01/13 Desenvolvimento Web I 31/37
32. PHP e Formulários Web
<TEXTAREA NAME=”nome” ROWS=”linhas” COLS=“colunas”>
Texto padrão, se necessário
</TEXTAREA>
NAME → identificador para o campo do formulário
ROWS → número de linhas
COLS → número de colunas
05/01/13 Desenvolvimento Web I 32/37
33. 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.
05/01/13 Desenvolvimento Web I 33/37
34. 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.
05/01/13 Desenvolvimento Web I 34/37
35. 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
05/01/13 Desenvolvimento Web I 35/37
36. 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[]”
05/01/13 Desenvolvimento Web I 36/37