SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Desenvolvimento Web I


                Aula 05


Instrutor: José Fernando Santana Andrade
      fernando.amdrade@gmail.com
Modularização




05/01/13         Desenvolvimento Web I   2/37
Subproblema

                Problema


      Subproblema1                           SubproblemaN




05/01/13             Desenvolvimento Web I                  3/37
Módulo

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




05/01/13           Desenvolvimento Web I   4/37
Exemplo

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




05/01/13           Desenvolvimento Web I    5/37
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
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
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
Criação

 function nome_da_funcao ($arg1,$arg2,$argN)
 {
       comandos
       return $valor_de_retorno;
 }




05/01/13                Desenvolvimento Web I   9/37
Exemplo

   function soma($a,$b)
   {
     $valor = $a + $b;
     return $valor;
   }
   echo soma(3,2);

05/01/13       Desenvolvimento Web I   10/37
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
Exercício


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


05/01/13            Desenvolvimento Web I   12/37
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
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
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
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
Passagem de parâmetro

●   Por valor
●   Por referência




05/01/13             Desenvolvimento Web I   17/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




05/01/13            Desenvolvimento Web I     18/37
Exemplo

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

05/01/13          Desenvolvimento Web I   19/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




05/01/13           Desenvolvimento Web I       20/37
Exemplo

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

05/01/13          Desenvolvimento Web I   21/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

 05/01/13              Desenvolvimento Web I          22/37
PHP e Formulários Web




05/01/13     Desenvolvimento Web I   23/37
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
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
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
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
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
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
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
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
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
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
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
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
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
Obrigado!




05/01/13   Desenvolvimento Web I   37/37

Mais conteúdo relacionado

Mais procurados

Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPClayton de Almeida Souza
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX Sérgio Souza Costa
 
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosSap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosMarcelo Ramos
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Thyago Maia
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesAlmir Mendes
 
Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3Altair Borges
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 
Introducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPIntroducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPguilhermemar
 
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Altair Borges
 
Cobol Web com Net Express 3.1/4.0/5.x - Parte 1
Cobol Web com Net Express 3.1/4.0/5.x - Parte 1Cobol Web com Net Express 3.1/4.0/5.x - Parte 1
Cobol Web com Net Express 3.1/4.0/5.x - Parte 1Altair Borges
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Thyago Maia
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Thyago Maia
 

Mais procurados (20)

Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHP
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A ObjetosSap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
Sap Inside Track Sao Paulo 09 Classes De Negócio Em Abap Orientado A Objetos
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2Programação Dinâmica para Web - Aula 2
Programação Dinâmica para Web - Aula 2
 
Funções em C
Funções em CFunções em C
Funções em C
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3Cobol Web com Net Express 5.1 - Parte 3
Cobol Web com Net Express 5.1 - Parte 3
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
Introducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHPIntroducao a orientacao a objetos com PHP
Introducao a orientacao a objetos com PHP
 
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Cobol Web com Net Express 3.1/4.0/5.x - Parte 1
Cobol Web com Net Express 3.1/4.0/5.x - Parte 1Cobol Web com Net Express 3.1/4.0/5.x - Parte 1
Cobol Web com Net Express 3.1/4.0/5.x - Parte 1
 
C++ Funções
 C++ Funções C++ Funções
C++ Funções
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3
 

Semelhante a Php05

Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereCriando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereJuliano Martins
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02thomasdacosta
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
Drupal 8 e ReactJS -  DrupalCamp Campinas 2016Drupal 8 e ReactJS -  DrupalCamp Campinas 2016
Drupal 8 e ReactJS - DrupalCamp Campinas 2016Taller Negócio Digitais
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)Alex Camargo
 

Semelhante a Php05 (20)

Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereCriando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
Encapsulamento em oo
Encapsulamento em ooEncapsulamento em oo
Encapsulamento em oo
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Aula10 -PHP
Aula10 -PHPAula10 -PHP
Aula10 -PHP
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Aplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com DjangoAplicacoes Rapidas Para Web Com Django
Aplicacoes Rapidas Para Web Com Django
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
Drupal 8 e ReactJS -  DrupalCamp Campinas 2016Drupal 8 e ReactJS -  DrupalCamp Campinas 2016
Drupal 8 e ReactJS - DrupalCamp Campinas 2016
 
04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
 
Aula3
Aula3Aula3
Aula3
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 

Php05

  • 1. Desenvolvimento Web I Aula 05 Instrutor: José Fernando Santana Andrade fernando.amdrade@gmail.com
  • 2. Modularização 05/01/13 Desenvolvimento Web I 2/37
  • 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
  • 17. Passagem de parâmetro ● Por valor ● Por referência 05/01/13 Desenvolvimento Web I 17/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
  • 23. PHP e Formulários Web 05/01/13 Desenvolvimento Web I 23/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
  • 37. Obrigado! 05/01/13 Desenvolvimento Web I 37/37