Funções… Ah, queridas funções…
Sem elas eu não poderia deixar meus programas mais leves. Aqui vamos dar início a uma base de como não precisar repetir seu código várias vezes e realmente o começo de como fazer um código ficar mais inteligente com o paradigma de Orientação à Objeto. :] ~
Enfim,
Definindo funções
Funções são blocos de códigos pré-definidos e rotulados para que sejam executados quando chamados e podem ou não receber um atributo/váriavel.
COMO ASSIM?
Simples,
function mensagem() {
echo “oi !”;
}mensagem();
a saída da chamada dessa função é “oi”, se não tivesse o mensagem() ali, abaixo do código… ele nem chegaria a executar.
– Porque?
A função é um bloco de código e ela não é executada a não ser que seja chamada pelo seu nome. Logo, não adianta chamar uma função antes dela ser definida.
MAS PERAI !
pra quê fazer uma função? se eu simplesmente posso digitar
echo “oi”;
pensa aí, se você precisar digitar oi em mil campos de textos [para o exemplo da função mensagem()] e quando você for editar?
no caso da função mensagem, seria só editar ali e onde tivesse “oi” mudaria para o que foi digitado, entenderam?
Então, vamos a um exemplo mais díficil:
#modelo 1 – Criado por Stefan Yohansson
#duas funções e o html$numero_contador = 0; #define a única variavel usada e seu valor.
function contador_mais($numero_contador) {
$numero_contador++;
return $numero_contador;
} #essa é a primeira função. O que ela faz? apenas soma +1 à nossa variavel, 0 + 1 = 1, e este é o resultado retornado.function contador_menos($numero_contador) {
$numero_contador–;
return $numero_contador;
} #faz o contrário da de cima, diminui 1 de 0, retornando -1#chamamos o html !
echo “<html>
<title>Sucessor e Antecessor de Zero !</title>
<link href=\”cont.css\” rel=\”stylesheet\” type=\”text/css\”>
<body>
<div id=\”container\”>
<h2>Sucessor e Antecessor de Zero !</h2>
<a href=\”?area=Aumentar\”>Aumentar</a> – <a href=\”?area=Diminuir\”>Diminuir</a>
<br>
(Aperte os links acima ou os botões abaixo para o número mudar)
<h1>”;if ($_GET[‘area’]) { #caso tenhamos uma variavel area na URL:
switch($_GET[‘area’]) { #troque para cada valor abaixo
case Aumentar: #caso aumentar
echo contador_mais($numero_contador); #use a função mais
break;
case Diminuir: #caso seja diminuir
echo contador_menos($numero_contador); #use a função menos
break;case Zerar: #caso zerar.
echo $numero_contador; #chame o valor da variavel
break;default:
echo $numero_contador;
}} else {
echo $numero_contador;
}echo “</h1>
<form action=\”?\” method=\”GET\”>
<input type=\”submit\” name=\”area\” value=\”Diminuir\”>
</form><form action=\”?\” method=\”GET\”>
<input type=\”submit\” name=\”area\” value=\”Aumentar\”>
</form><form action=\”?\” method=\”GET\”>
<input type=\”submit\” name=\”area\” value=\”Zerar\”>
</form></div>
</body>
</html>”;
Bem pessoal, reparem que no nosso código se vocês executarem nos seus computadores, veram que temos dois botões (um botão mesmo e outro é um link) e ambos fazem a mesma coisa com os mesmos parametros. :] ~
Bem este é um programa exemplo. Percebam que a função é diferente da função mensagem pois tem algo entre os ().
O que quer dizer isso?
function contador_menos($numero_contador)
isso significa que a função receberá como parametro a variavel $numero_contador.
Se isto não for feito, nada será feito. >D
Caso sua função seja uma função de msg, isso não é preciso, mas caso o usuario vá passar valores que serão executados na função, é mais que preciso.
Enfim, fica de dever de casa fazer um programa que calcule a hipotenusa de um triângulo de lados
h = ?
a = 8
b = 6
Sua saída deve ser algo parecido com o outro programa.
Se quiserem podem postar seus códigos nos comentários e eu avalio-os… ou mandem-me e-mails.
swhite.owl@gmail.com