0
FSM, vetores e funções
       em PHP

             Breno Vitorino
              Seminá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 context...
Alterar
●   Comando SQL:
    UPDATE <tabela> SET <campo =
    valor> WHERE <condição>;
●   Exemplo:
    UPDATE portfolio S...
Alterar em PHP

Podemos aproveitar o
formulário de criação?
Alterar em PHP
Sim, podemos aproveitar:
● Leiaute da página


● Validação dos campos
Alterar em PHP
Entretanto, há diferenças também:
● Ao abrir a página, deve carregar os

  dados do portfólio.
● Ao clicar ...
Alterar em PHP

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


                                 casar
              Solteiro                        ...
FSM para a página de inserção /
         atualização
    Formulário em branco



                                    envia...
Máquina de estados em PHP
$estado = obter_estado_pagina();
switch($estado) {
    case INSERCAO_NOVO:
     // Algum process...
Sintaxe de funções
function
nome_da_função( parâmetro1,
parâmetro2, … ) {
    bloco_de_comandos;
    return valor; // Opci...
Funções em PHP
<?php
function fibonacci ($n) {
    if ($n == 1 || $n == 2) {
        return 1;
    } else {
        return...
Geração dinâmica de
      caixas de seleção
●   2 vetores:
       – Um para armazenar a lista de
          opções
       –...
Vetores em PHP
●    Armazenam uma coleção de valores.
●    Podem ser declarados como:
    <? frutas = array ( quot;bananaq...
Vetores para caixas de
            seleção
$estado_options = array(
     'MG', 'RJ', 'RS', 'SP'
);
$estado_selected [ $est...
Caixa de seleção dinâmica
<select name=quot;estadoquot; id=quot;estadoquot;>
   <option value=quot;quot; <?= $estado_selec...
Alterar: Demo
Obrigado!


                     Breno Vitorino
http://brenovitorino.wordpress.com
Upcoming SlideShare
Loading in...5
×

FSM, vetores e funções em PHP

1,689

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,689
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. FSM, vetores e funções em PHP Breno Vitorino Seminários III PUC Minas Contagem
  2. 2. 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).
  3. 3. Alterar ● Comando SQL: UPDATE <tabela> SET <campo = valor> WHERE <condição>; ● Exemplo: UPDATE portfolio SET experiencia = 'Nenhuma';
  4. 4. Alterar em PHP Podemos aproveitar o formulário de criação?
  5. 5. Alterar em PHP Sim, podemos aproveitar: ● Leiaute da página ● Validação dos campos
  6. 6. Alterar em PHP Entretanto, 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
  7. 7. Alterar em PHP Solução: implementar uma máquina de estados (FSM – Finite State Machine)
  8. 8. Exemplo: máquina de estados finita casar Solteiro Casado morrer casar morrer divorciar cônjuge morre casar morrer morrer Viúvo Divorciado
  9. 9. FSM para a página de inserção / atualização Formulário em branco enviar form. Criar Formulário preenchido abrir página inserir no BD abrir página atualizar no BD enviar form. Atualizar Formulário preenchido Formulário preenchido de acordo com o ID do portfólio.
  10. 10. Máquina de estados em PHP $estado = obter_estado_pagina(); switch($estado) { case INSERCAO_NOVO: // Algum processamento ... break; case ALTERACAO_NOVO: // Outro processamento ... break; }
  11. 11. Sintaxe de funções function nome_da_função( parâmetro1, parâmetro2, … ) { bloco_de_comandos; return valor; // Opcional }
  12. 12. Funções em PHP <?php function fibonacci ($n) { if ($n == 1 || $n == 2) { return 1; } else { return fibonacci($n - 1) + fibonacci($n - 2); } } ?>
  13. 13. 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
  14. 14. Vetores em PHP ● Armazenam uma coleção de valores. ● Podem ser declarados como: <? frutas = array ( quot;bananaquot;, quot;pêraquot;, quot;maçãquot; ); ?> ou <? chamada = array ( quot;albertoquot; => quot;317345quot; quot;biancaquot; => quot;792652quot; ); ?>
  15. 15. Vetores para caixas de seleção $estado_options = array( 'MG', 'RJ', 'RS', 'SP' ); $estado_selected [ $estado ] = 'selected = quot;selectedquot; ';
  16. 16. Caixa de seleção dinâmica <select name=quot;estadoquot; id=quot;estadoquot;> <option value=quot;quot; <?= $estado_selected[''] ?>>Escolha</option> <? foreach( $estado_options as $option ) { ?> <option <?= $estado_selected [ $option ] ?>><?= $option ?></option> <? } ?> </select>
  17. 17. Alterar: Demo
  18. 18. Obrigado! Breno Vitorino http://brenovitorino.wordpress.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×