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: "; } 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: $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: $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: 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! "; 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 # ##########################################################################