FSM, vetores e funções em PHP
-
Upload
breno-vitorino -
Category
Technology
-
view
1.686 -
download
3
Transcript of FSM, vetores e funções em PHP
FSM, vetores e funções em PHP
Breno VitorinoSeminários III
PUC Minas Contagem
No último seminário...● Vimos o que são operações do tipo
CRUD.● Entendemos as funções isset() e
empty() no contexto de validação de formulários.
● Revisamos as funções PHP para criar uma página de inserção (CRUD).
Alterar● Comando SQL:
UPDATE <tabela> SET <campo = valor> WHERE <condição>;
● Exemplo:UPDATE portfolio SET experiencia = 'Nenhuma';
Alterar em PHP
Podemos aproveitar o formulário de criação?
Alterar em PHPSim, podemos aproveitar:● Leiaute da página● Validação dos campos
Alterar em PHPEntretanto, há diferenças também:● Ao abrir a página, deve carregar os
dados do portfólio.● Ao clicar em Enviar, deve executar
um UPDATE ao invés de INSERT
Alterar em PHP
Solução: implementar uma máquina de estados (FSM – Finite State Machine)
Exemplo: máquina de estados finita
Solteiro Casado
DivorciadoViúvo
casar
morrer
morrer
morrer
morrer
casar
cônjuge morre
divorciar
casar
FSM para a página de inserção / atualização
Criar
abrir página
Atualizarabrir página
Formulário preenchido
inserir no BD
Formulário preenchido
atualizar no BD
enviar form.
enviar form.
Formulário em branco
Formulário preenchidode acordo com o ID do portfólio.
Máquina de estados em PHP$estado = obter_estado_pagina();switch($estado) { case INSERCAO_NOVO: // Algum processamento ... break; case ALTERACAO_NOVO: // Outro processamento ... break;}
Sintaxe de funções
function nome_da_função( parâmetro1, parâmetro2, … ) {
bloco_de_comandos;
return valor; // Opcional
}
Funções em PHP<?php
function fibonacci ($n) {
if ($n == 1 || $n == 2) {
return 1;
} else {
return fibonacci($n - 1) + fibonacci($n - 2);
}
}
?>
Geração dinâmica de caixas de seleção
● 2 vetores:–Um para armazenar a lista de
opções–Outro para armazenar a opção
selecionada
Vetores em PHP● Armazenam uma coleção de valores.● Podem ser declarados como: <? frutas = array ( "banana", "pêra", "maçã" ); ?>
ou <? chamada = array (
"alberto" => "317345"
"bianca" => "792652"
); ?>
Vetores para caixas de seleção
$estado_options = array(
'MG', 'RJ', 'RS', 'SP'
);
$estado_selected [ $estado ] = 'selected = "selected" ';
Caixa de seleção dinâmica<select name="estado" id="estado">
<option value="" <?= $estado_selected['']
?>>Escolha</option>
<? foreach( $estado_options as $option ) { ?>
<option <?= $estado_selected [ $option ]
?>><?= $option ?></option>
<? } ?>
</select>
Alterar: Demo
Obrigado!
Breno Vitorinohttp://brenovitorino.wordpress.com