CRIAÇÃO DE SITES II
Aula anterior
Funções
Exercícios
NESTA AULA! Funções
Exercícios
OBJETIVOS: Compreender como criar e utilizar funções
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.
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 })
Funções → Definição
Estrutura básica de uma função:
function nome_funcao($par1, $par2, $par3...$parN){ //instruções}
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 (_).
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.
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.
Funções → Exemplo
Função sem parâmetro e sem retorno:
function exibir_mensagem(){
echo "Olá\n"; echo "Seja Bem Vindo(a)!";
}
Funções → Exemplo
Função com parâmetro e sem retorno
function exibir_mensagem($nome){
echo "Olá\n"; echo $nome;
}
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");?>
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;
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;
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.
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
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.
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.
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.";
}
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.
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.
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;
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.
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.
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);
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
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.
Top Related