|
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 instruções,
podendo declarar funções para
tal. Uma função pode trabalhar
com diversos parâmetros que lhe são
enviados, ou até, sem
qualquer parâmetro. 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 .<br>";
}
escreve
("String de Teste");
?>
Neste exemplo, declarei uma função
de nome "escreve" que aceita um
parâmetro. do tipo String. Quando
a função for chamada, vai
enviar um output para o ecrã que
diz "A string enviada para a função
diz: " seguido do valor
enviado para a função Neste
caso, chamamos a função escreve()
e como parâmetro. a string "String
de Teste". Quando executamos este script,
o resultadoé o seguinte:
A string enviada para a função
diz: String de Teste .
Neste exemplo, a função
não nos devolve nada. Serve apenas
para poder-mos usufruir da reutilização
do código. Exemplo:
Imaginemos que queremos escrever
linhas a vermelho, azul e a verde.
Um método que poderíamos usar,
era escrever:
<html>
<body>
<font color=#FF0000>O texto que eu
quero a vermelho</font><br>
<font color=#00FF00>O texto que eu
quero a verde</font><br>
<font color=#0000FF>O texto que eu
quero a azul</font><br><br>
<font color=#FF0000>O
texto que eu quero a vermelho</font><br>
<font color=#00FF00>O texto que eu
quero a verde</font><br>
<font color=#0000FF>O texto que eu
quero a azul</font><br><br>
<font color=#FF0000>O
texto que eu quero a vermelho</font><br>
<font color=#00FF00>O texto que eu
quero a verde</font><br>
<font color=#0000FF>O texto que eu
quero a azul</font><br><br>
</body>
</html>
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 ("<b>"),
o texto a verde em Itálico ("<i>"),
e o azul a sublinhado ("<u>").
No mínimo, 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:
<?
//função
que escreve a vermelho
function escreve_vermelho ($str)
{
echo "<font color=#FF0000>$str</font><br>";
}
//função
que escreve a verde
function escreve_verde ($str)
{
echo "<font color=#00FF00>$str</font><br>";
}
//função
que escreve a azul
function escreve_azul ($str)
{
echo "<font color=#0000FF>$str</font><br><br>";
}
//chamada das
funções 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 aparecer
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:
<?
//função
que escreve a vermelho e a bold
function escreve_vermelho ($str)
{
echo "<font color=#FF0000><b>$str</b></font><br>";
}
//função
que escreve a verde
function escreve_verde ($str)
{
echo "<font color=#00FF00><i>$str</i></font><br>";
}
//função
que escreve a azul
function escreve_azul ($str)
{
echo "<font color=#0000FF><u>$str</u></font><br><br>";
}
?>
Executamos o script, e onde
anteriormente aparecia as frases com o texto
normal, vai aparecer agora com as formatações
de bold, itálico e sublinhado, atribuídas
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ção
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 parâmetro.
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ção:
$quad=quadrado($num)
Estamos a dizer que vamos
atribuir à variável $quad
o valor retornado pela função
quadrado(), tendo esta como parâmetro.
a variável $num. O resultado deste
script é o seguinte:
O quadrado de 2 é
4 !
Podemos também ter
funções que chamam outras
funções 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
! <br>";
echo "O cubo de $num é $cubo
! <br>";
?>
O resultado, como não
poderia deixar de ser é:
O quadrado de 2 é
4 !
O Cubo de 2 é 8 !
Exercício 7.1:
Recorrendo às funções,
implementa as 4 operações
básicas: soma, subtracção,
multiplicação e divisao. Cada
uma destas funções deverá
aceitar 2 parâmetros: $a e $b, e devolver
o resultado de cada operação.
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
Exercício 7.2:
A proveitando o exemplo anterior, construir
uma função que sirva de calculadora.
Esta função aceita 3 parâmetros:
$a, $b e $operação. Dados
as 3 variáveis, para a função,
valida a $operação. através
de um Switch, e mediante os diversos casos,
a função devera calcular a
soma, subtracção, divisão,
e
multiplicação.
Esquema:
$a=2;
$b=3;
$operação.="*";
A
função deverá calcular
o valor de $a*$b.
Resumo:
Podemos construir funções
simplesmente para reutilizarmos determinado
código ao longo do site. Este método
permite-nos que em certa altura, possamos
alterar algumas propriedades do código,
e esta modificação tenha influencia
em todo o site. As funções
permitem também aceitar parâmetros
e devolver o resultado do processamento
do código da função.
Podemos ainda encadear funções
para obter o resultado pretendido, e assim
simplificar o código
escrito.
|