Funções
Uma função é um conjunto de instruções destinado a uma tarefa bem específica e que podemos utilizar várias vezes. Por exemplo, podemos precisar de funções para verificar se um CPF é válido, tratar valores recebidos de formulários, como datas e strings. A sintaxe para a criação de uma função em PHP é:
function nome_da_funcao(parâmetros) { |
|
||||
|
||||
|
Os parâmetros da função são opcionais, mas os parênteses devem sempre aparecer. Uma função só é executada quando chamamos a função, ou seja, apenas a sua definição não executa as instruções pertencentes a ela. A chamada ou invocação de uma função se faz pelo nome da função com parênteses, por exemplo:
nome_da_funcao(); |
Uma função pode retornar um valor, neste caso, usa-se a palavra reservada return. Vamos a um exemplo. A figura C.19 apresenta a definição de uma função chamada somar que recebe três valores por parâmetro. A função soma os três valores e retorna o valor. A definição da função começa na linha 3 e termina na linha 8. A seguir, na linha 11 é feita a chamada da função, passando os três valores para cálculo. Como a função retorna o valor total, será mostrado no navegador o resultado da soma.
Juntamente com funções, é importante compreender o escopo de variáveis em PHP:
– Para se utilizar uma variável que seja vista tanto dentro como fora da função deve-se declará-la como sendo GLOBAL, ou seja, fora da função.
- Uma variável declarada dentro de uma função será válida apenas dentro da própria função. Por exemplo, o código abaixo, não imprimirá nada em virtude de $texto possuir escopo local (função).
A seguir vamos ver exemplos de várias funções.
Exemplo de função que recebe parâmetro e não retorna valor
A função apresentada na figura C.21, chamada tabuada, recebe um número por parâmetro e mostra a tabuada do número recebido. Veja que a função não retorna valor, já mostra diretamente dentro da função os valores. Na função também foi tratado o valor recebido por parâmetro. A função is_numeric retorna true se o valor passado por parâmetro é numérico e false em caso negativo. Se o valor for numérico é feito um teste se ele é maior ou igual a 1 e menor igual a 9, neste caso é feito um laço para mostrar a tabuada. Se o valor não estiver no intervalo então mostra uma mensagem “Informe um número entre 1 e 9”.
A figura C.22 mostra a chamada da função no navegador.
Exemplo de função que recebe um vetor por parâmetro e retorna valor
A função apresentada na figura C.22, chamada somar_vetor, recebe por parâmetro um vetor e calcula a soma dos seus valores. Alguns apontamentos:
- na linha 7 foi criada a variável $soma, sendo inicializada com zero.
- na linha 9 é usado um laço foreach para percorrer o vetor.
- na linha 10 é acumulado o valor do elemento do vetor na variável $soma.
- na linha 12, após sair do laço, a função retorna o valor da variável $soma.
- a linha 13 fecha a função.
- a linha 15 define um array chamado $vetor com alguns valores.
- na linha 17 mostra uma mensagem com o valor, retornado da chamada da função somar_vetor, passando o $vetor por parâmetro.
Exemplo de função que recebe vários parâmetros e retorna valor
A função definida no código da figura C.25, recebe por parâmetro dois números e a operação (+,-, * ou /) que deve ser efetuada para os dois valores. A função deve retornar o resultado do cálculo. Alguns apontamentos:
- a função é definida entre as linhas 2 e 22.
- está sendo usada na função a estrutura switch para verificar o que foi recebido em $op.
- quando a operação for de divisão está sendo feito um teste para verificar se o denominador não é zero para não ocorrer erro na divisão.
- na linha 21 é retornado o valor calculado.
- para testar a função foram criadas três variáveis (linhas 23 a 25). Neste caso, os valores são 6 e 5 e a operação é multiplicação.
- na linha 27 é feita a chamada da função passando as variáveis por parâmetro.
- a figura C.26 mostra o resultado da chamada da função no navegador.
|
||||
|
||||
|
Funções require e include
As funções require e include incluem um arquivo de forma completa no script. A principal diferença entre os dois é que, se usarmos require() para incluir um arquivo que não pode ser incluído (talvez o arquivo não exista), um erro fatal será gerado e a execução de código na página será imediatamente suspenso. Se usarmos include() e o arquivo de inclusão não puder ser localizado, teremos uma advertência, mas a execução do código na página não será interrompida.
<?php |
Ou
<?php |
Porque estamos vendo estas duas funções? Porque é muito comum e interessante que o desenvolvedor crie seus arquivos de funções e faça uso deles sempre que precisar com include ou require. Imagine que você pode criar um arquivo chamado funcoes.php com diversas funções comuns que você costuma usar, como na figura C.27. Sempre que necessitar usar essas funções, pode fazer a inclusão no arquivo que precisar. A figura C.28 mostra o código do arquivo exemplo.php que na linha 10 faz a inclusão do funcoes.php. A partir da inclusão, qualquer uma das funções pode ser usada. A linha 14 faz uso da função valida_data do funcoes.php. As funções include e require são bastante utilizadas pelos desenvolvedores e é recomendado que você organize seus arquivos para usá-las.