Funções PHP - Criação de sites II

29
CRIAÇÃO DE SITES II

Transcript of Funções PHP - Criação de sites II

Page 1: Funções PHP - Criação de sites II

CRIAÇÃO DE SITES II

Page 2: Funções PHP - Criação de sites II

Aula anterior

Funções

Exercícios

Page 3: Funções PHP - Criação de sites II

NESTA AULA! Funções

Exercícios

Page 4: Funções PHP - Criação de sites II

OBJETIVOS: Compreender como criar e utilizar funções

Page 5: Funções PHP - Criação de sites II

Funções

Blocos de código com um objetivo específico, identificados por um nome através do qual pode ser referenciado á partir de várias partes do código;

Técnica utilizada para garantir a reutilização de código, tornando a programação mais prática e o código mais “limpo” e organizado.

Page 6: Funções PHP - Criação de sites II

Funções → Definição

Definida a partir da palavra reservada function seguida do nome da função e de sua lista de argumentos

O corpo da função é delimitado por chaves ({ e })

O conjunto de instruções a ser executado quando a função for invocada fica entre as chaves ({ e })

Page 7: Funções PHP - Criação de sites II

Funções → Definição

Estrutura básica de uma função:

function nome_funcao($par1, $par2, $par3...$parN){ //instruções}

Page 8: Funções PHP - Criação de sites II

Funções → Definição

Algumas considerações sobre o código anterior:

A palavra reservada function é imutável e obrigatória, é ela que define o bloco de código como uma função.

O “nome_funcao” deve ser um valor significativo, pelo qual os comandos sejam facilmente identificados. Assim como as variáveis, não podem ser iniciadas com números ou caracteres especiais, exceto o underline (_).

Page 9: Funções PHP - Criação de sites II

Funções → Definição

Geralmente inicia-se o nome da função com letra minúscula, mas esta não é uma convenção, cabe a cada um decidir que notação utilizar;

Os valores entre parênteses são chamados de parâmetros ou argumentos e são valores dos quais a função depende para ser executada corretamente;.

Nem sempre os argumentos são necessários, então pode-se omiti-los na definição da função, mantendo apenas os parênteses.

Page 10: Funções PHP - Criação de sites II

Funções → Classificação

Funções podem ser classificadas quanto ao seu retorno como vazias (void) ou com retorno;

void ou sem retorno apenas executam uma série de comandos sem a obrigação de devolver um valor específico como resultado;

As funções com retorno, ao serem executadas, resultam diretamente em um dado valor que, no PHP, não tem tipo definido.

Page 11: Funções PHP - Criação de sites II

Funções → Exemplo

Função sem parâmetro e sem retorno:

function exibir_mensagem(){

echo "Olá\n"; echo "Seja Bem Vindo(a)!";

}

Page 12: Funções PHP - Criação de sites II

Funções → Exemplo

Função com parâmetro e sem retorno

function exibir_mensagem($nome){

echo "Olá\n"; echo $nome;

}

Page 13: Funções PHP - Criação de sites II

Funções → Exemplo

Invocando uma função sem retorno:

<?php //definição da função function exibir_mensagem($nome) { echo "Olá\n"; echo $nome; } //chamando a função exibir_mensagem("Joel Rodrigues");?>

Page 14: Funções PHP - Criação de sites II

Funções → Exemplo

Função sem parâmetro e com retorno: function dia_atual() { $hoje = getdate(); switch($hoje["wday"]) { case 0: return "Domingo"; break; case 1: return "Segunda"; break; . case 6: return "Sábado"; break; } } $dia = dia_atual(); echo $dia;

Page 15: Funções PHP - Criação de sites II

Funções → Exemplo

Função com parâmetro e com retorno: //definição da função function somar($numA, $numB) { return $numA + $numB; } $resultado = somar(1,2); echo $resultado;

Page 16: Funções PHP - Criação de sites II

Funções → Acesso a variáveis

Classificações de variáveis: GLOBAL e LOCAL.

LOCAL:

As variáveis locais: declaradas no corpo da função e só podem ser

acessadas dentro desta.

Utilizado para realizar cálculos e outros processamentos internos da

função

Alocadas e liberadas durante sua execução.

Page 17: Funções PHP - Criação de sites II

Funções → Acesso a variáveis

Função com variável local:

function par_ou_impar($num) { $resto = $num % 2; if($resto == 0) return "PAR"; else return "IMPAR"; } //fora da função não é possível acessar a variável $resto

Page 18: Funções PHP - Criação de sites II

Funções → Acesso a variáveis

GLOBAL

• Podem ser cessadas a partir de qualquer ponto do código;

• Usadas para armazenar informações que precisam ser utilizadas por

várias funções distintas ou acessadas diretamente.

Page 19: Funções PHP - Criação de sites II

Funções → Acesso a variáveis

GLOBAL Estática

Tipo especial de variável local, as variáveis ESTÁTICAS;

Apesar de ser declarado dentro do corpo da função, não é descartado após

a execução;

Utilizada a palavra reservada static antes do nome da função no

momento de sua declaração;

Estáticas são acessíveis apenas dentro da função.

Page 20: Funções PHP - Criação de sites II

Global → Estática

Utilização de variáveis estáticas: function depositar($valor) { static $total_depositos; $total_depositos++; $saldo += $valor; echo "Foram feitos ".$total_depositos." depósitos."; } function sacar($valor) { static $total_saques; $total_saques++; $saldo -= $valor; echo "Foram feitos ".$total_saques." saques.";

}

Page 21: Funções PHP - Criação de sites II

Funções → Passagem de parâmetros

Funções Passagem de parâmetrosA passagem de parâmetros pode ser feita de duas formas:

POR VALOR POR REFERÊNCIA.

Relevantes quando passamos variáveis como argumentos para funções

Definem a forma como essas variáveis são tratadas no corpo da função.

Page 22: Funções PHP - Criação de sites II

Funções → Passagem de parâmetros

Passagem por valor:

Forma padrão;

Quando se passa uma variável como argumento para uma função;

Feita uma cópia interna dessa variável;

Modificada durante a execução;

Após o término da função, a variável original não sofre nenhuma alteração.

Page 23: Funções PHP - Criação de sites II

Funções → Passagem de parâmetros

Passagem por referencia:

Seu valor é acessado diretamente;

pode sofrer alterações durante a execução;

Para indicar que um argumento deve ser recebido por referência, deve-se adicionar o operador & antes do nome do parâmetro, na declaração da função;

Page 24: Funções PHP - Criação de sites II

Funções → Passagem de parâmetros

Exemplo:function somar($numA, $numB)

{ return $numA + $numB } function somar(&$numA, $numB) { $numA += $numB; }

Obs:Quando é definido que um parâmetro deve ser passado por referência, na chamada da função deve ser informada uma variável obrigatoriamente e não um valor qualquer.

Page 25: Funções PHP - Criação de sites II

Funções → Passagem de parâmetros

Quantidade de parâmetros:

Permitido definir funções que recebam um número indefinido de argumentos

Acessar vários parâmetros dinamicamente, mesmo sem que seja previamente definida a quantidade e nome dos mesmos.

Dentro da função, utiliza-se as funções func_get_args() e func_num_args() que retornam um array contendo os argumentos e a quantidade destes, respectivamente.

Page 26: Funções PHP - Criação de sites II

Funções → Passagem de parâmetros

Quantidade de parâmetros:

Exemplo:function somar()

{ $numeros = func_get_args(); $qtd_nums = func_num_args(); $soma = 0; for($i = 0; $i < $qtd_nums;$i++) { $soma += $numeros[$i]; } return $soma; } //testando a função echo somar(1, 2, 3, 4, 5);

Page 27: Funções PHP - Criação de sites II

Funções → Nativas

PHP possui grande coleção de funções nativas.

http://php.net/manual/pt_BR/indexes.functions.php#refentry-index-for-s

Page 28: Funções PHP - Criação de sites II

Funções → Conclusão

Funções em PHP é bastante simples e eficiente;

Fácil e prático promover a reusabilidade de código nas aplicações.

Page 29: Funções PHP - Criação de sites II

DÚVIDAS?

Prof. Cândido Luciano de FariasE-mail: [email protected]

��