FSM, vetores e funções em PHP

18
FSM, vetores e funções em PHP Breno Vitorino Seminários III PUC Minas Contagem

Transcript of FSM, vetores e funções em PHP

Page 1: FSM, vetores e funções em PHP

FSM, vetores e funções em PHP

Breno VitorinoSeminários III

PUC Minas Contagem

Page 2: FSM, vetores e funções em PHP

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).

Page 3: FSM, vetores e funções em PHP

Alterar● Comando SQL:

UPDATE <tabela> SET <campo = valor> WHERE <condição>;

● Exemplo:UPDATE portfolio SET experiencia = 'Nenhuma';

Page 4: FSM, vetores e funções em PHP

Alterar em PHP

Podemos aproveitar o formulário de criação?

Page 5: FSM, vetores e funções em PHP

Alterar em PHPSim, podemos aproveitar:● Leiaute da página● Validação dos campos

Page 6: FSM, vetores e funções em PHP

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

Page 7: FSM, vetores e funções em PHP

Alterar em PHP

Solução: implementar uma máquina de estados (FSM – Finite State Machine)

Page 8: FSM, vetores e funções em PHP

Exemplo: máquina de estados finita

Solteiro Casado

DivorciadoViúvo

casar

morrer

morrer

morrer

morrer

casar

cônjuge morre

divorciar

casar

Page 9: FSM, vetores e funções em PHP

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.

Page 10: FSM, vetores e funções em PHP

Máquina de estados em PHP$estado = obter_estado_pagina();switch($estado) { case INSERCAO_NOVO: // Algum processamento ... break; case ALTERACAO_NOVO: // Outro processamento ... break;}

Page 11: FSM, vetores e funções em PHP

Sintaxe de funções

function nome_da_função( parâmetro1, parâmetro2, … ) {

bloco_de_comandos;

return valor; // Opcional

}

Page 12: FSM, vetores e funções em PHP

Funções em PHP<?php

function fibonacci ($n) {

if ($n == 1 || $n == 2) {

return 1;

} else {

return fibonacci($n - 1) + fibonacci($n - 2);

}

}

?>

Page 13: FSM, vetores e funções em PHP

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

Page 14: FSM, vetores e funções em PHP

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"

); ?>

Page 15: FSM, vetores e funções em PHP

Vetores para caixas de seleção

$estado_options = array(

'MG', 'RJ', 'RS', 'SP'

);

$estado_selected [ $estado ] = 'selected = "selected" ';

Page 16: FSM, vetores e funções em PHP

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>

Page 17: FSM, vetores e funções em PHP

Alterar: Demo

Page 18: FSM, vetores e funções em PHP

Obrigado!

Breno Vitorinohttp://brenovitorino.wordpress.com