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 C lassificaçõ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.
Funções → Passagem de parâmetros Funções Passagem de parâmetros A 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 .