Funções
Uma função é um bloco de código que se declara, para que possa ser
utilizado sempre que necessário. Este processo, permite-nos simplificar a
construção de um website, porque não temos de estar sempre a repetir as
mesmas intruções, podendo declarar funcoes para tal. Uma função
pode trabalhar com diversos parametros que lhe são enviandos, ou até, sem
qualquer parametro. Normalmente devolve um valor, resultado do processamento
do código da função. Exemplo de uma função:
function escreve($str)
{
echo "A string enviada para a função diz: $str .
";
}
escreve ("String de Teste");
?>
Neste exemplo, declarei uma funcao de nome "escreve" que aceita um parametro
do tipo String. Quando a funçao for chamada, vai enviar um output para o
ecran que diz "A string enviada para a função diz: " seguido do valor
enviado para a funçao. Neste caso, chamamos a função escreve() e como
parametro a string "String de Teste". Quando executamos este script, o
resutlado é o seguinte:
A string enviada para a função diz: String de Teste .
Neste exemplo, a funçao não nos devolve nada. Serve apenas para poder-mos
usufruir da reutilização do codigo. Exemplo:
Imaginemos que queremos escrever linhas a vermelho, azul e a verde.
Um método que poderiamos usar, era escrever:
O texto que eu quero a vermelho
O texto que eu quero a verde
O texto que eu quero a azul
O texto que eu quero a vermelho
O texto que eu quero a verde
O texto que eu quero a azul
O texto que eu quero a vermelho
O texto que eu quero a verde
O texto que eu quero a azul
Até aqui tudo bem, a coisa funciona correctamente, e temos um belo trabalho
sempre que queremos escrever uma linha da cor pretendida, ao longo do site.
Agora imaginemos que, cada vez que eu quero escrever a cor vermelha, o texto
apareça a BOLD (""), o texto a verde em Itálico (""), e o azul a
sublinhado (""). No minimo, era fugir para outro planeta e desistir do
projecto! Mais uma vez, o PHP vem ao nosso socorro, e podemos implementar
Funções! O nosso exemplo então seria muito simples.
Inicialmente implementamos as funções das cores:
//funcao que escreve a vermelho
function escreve_vermelho ($str)
{
echo "$str
";
}
//funcao que escreve a verde
function escreve_verde ($str)
{
echo "$str
";
}
//funcao que escreve a azul
function escreve_azul ($str)
{
echo "$str
";
}
//chamada das funcoes com o respectivo texto
escreve_vermelho("O texto que eu quero a vermelho");
escreve_verde("O texto que eu quero a verde");
escreve_azul("O texto que eu quero a azul");
//e podemos repetir a chamada às funções as vezes que quisermos
escreve_vermelho("O texto que eu quero a vermelho");
escreve_verde("O texto que eu quero a verde");
escreve_azul("O texto que eu quero a azul");
escreve_vermelho("O texto que eu quero a vermelho");
escreve_verde("O texto que eu quero a verde");
escreve_azul("O texto que eu quero a azul");
?>
E já temos as funções, que podemos utilizar no nosso site, para quando
precisarmos escrever texto a vermelho, verde ou azul. Agora, se por ventura,
tivermos de mudar o texto a vermelho, para apareecer a bold; o verde para
aparecer em itálico, e o azul em sublinhado, basta apenas mudarmos as nossas
funções. Assim, as funções modificadas ficariam assim:
//funcao que escreve a vermelho e a bold
function escreve_vermelho ($str)
{
echo "$str
";
}
//funcao que escreve a verde
function escreve_verde ($str)
{
echo "$str
";
}
//funcao que escreve a azul
function escreve_azul ($str)
{
echo "$str
";
}
?>
Executamos o script, e onde anteriormente aparecia as frases com o texto
normal, vai aparecer agora com as formatações de bold, italico e sublinhado,
atribuidas nas funções.
-*-
Estas funções que utilizamos, utilizam apenas parte das capacidades de uma
função. Vamos ver agora, como podemos retornar valores de uma função.
Imaginemos que queremos utilizar uma funçao que nos calcule o quadrado
de um numero:
function quadrado($num)
{
$total=$num*$num;
return ($total);
}
$num=2;
$quad=quadrado($num);
echo "O quadrado de $num é $quad !";
?>
Declaramos a função quadrado, que aceita um numero como parametro. Calcula o
resultado do seu quadrado (numero a multiplicar por ele próprio) e guardamos
o resultado na variável $total. Retornamos a variável total como resultado
da função. Quando utilizamos a seguinte instruçao:
$quad=quadrado($num)
Estamos a dizer que vamos atribuir à variavel $quad o valor retornado pela
funçao quadrado(), tendo esta como parametro a variavel $num. O resultado
deste script é o seguinte:
O quadrado de 2 é 4 !
Podemos também ter funçoes que chamam outras funçoes. Vamos fazer agora a
função Cubo!
function quadrado($num)
{
$total=$num*$num;
return ($total);
}
function cubo($num)
{
$total=quadrado($num)*$num;
return ($total);
}
$num=2;
$quad=quadrado($num);
$cubo=cubo($num);
echo "O quadrado de $num é $quad !
";
echo "O cubo de $num é $cubo !
";
?>
O resultado, como não poderia deixar de ser é:
O quadrado de 2 é 4 !
O Cubo de 2 é 8 !
Exercicio 7.1:
Recorrendo às funções, implementa as 4 opereções basicas: soma, subtraçao,
multiplicaçao e divisao. Cada uma destas funções deverá aceitar 2
parametros: $a e $b, e devolver o resultado de cada operaçao. Dado um
valor para estas variáveis, pretendo obter o seguinte resultado:
1- a+b
2- a-b
3- a*b
4- a/b
5- a+(b*a)
6- b/(a-b)
7- a*((b/a)-b)+b
Exercicio 7.2:
A proveitando o exemplo anteiror, construir uma função que sirva de calculadora.
Esta função aceita 3 parametros: $a, $b e $operacao. Dados as 3 variaveis,
para a função, valida a $operaçao atravez de um Switch, e mediante os
diversos casos, a funcao devera calcular a soma, subtraçao, divisao, e
multiplicaçãao.
Esquema:
$a=2;
$b=3;
$operacao="*";
A funçao deverá calcular o valor de $a*$b.
Resumo:
Podemos construir funçoes simplesmente para reutilizarmos determinado codigo
ao longo do site. Este metodo permite-nos que em certa altura, possamos
alterar algumas propriedades do codigo, e esta modificaçao tenha influencia
em todo o site. As funções permitem também aceitar parametros e devolver o
resultado do processamento do codigo da função. Podemos ainda encadear
funções para obter o resultado pretendido, e assim simplificar o codigo
escrito.
##########################################################################
# Autor: [Dragon] #
# Email: dragon@cidadela.org #
# URL: http://www.cidadela.org #
# Última revisão: 2001/01/17 #
##########################################################################