Bora ajudar o programador a transformar café em código?

Função - Como invocar e Criar uma função

Neste tutorial de nossa apostila de PHP, vamos aprender como invocar, ou seja, como chamar as funções, para fazerem elas serem executadas e vamos aprender a criar funções simples.

Apostila de PHP para Download

Como invocar uma Função

Já usamos, no decorrer de nossa apostila, algumas funções.
A primeira delas foi a print():
<?php
   print("Apostila PHP Progressivo");
?>
Ela funciona como a echo, simplesmente exibe uma string.

Detectamos que é uma função pelo par de parêntesis: print()
As vezes tem algo dentro do parêntesis, as vezes não tem, você entenderam o motivo.

Outra função que vimos, foi a de exponenciação: pow(base, expoente)
 <?php
   echo "3 elevado a 4: ".pow(3,4);
 ?>

pow() é uma função, que recebe dois valores (3 e 4) e retornou um valor, o 81, com o resultado da operação.

É simplesmente assim que invocamos funções.

Como criar uma Função em PHP

Embora o PHP tenha uma vasta gama de funções prontas, escritas em algum lugar, e podendo ser invocada milhões de vezes que você quiser, muitas vezes vamos precisar criar nossas próprias funções.

A sintaxe para declarar uma função é:
function nome_funcao (parameteros) {
   codigo;
   codigo;

   return valor;
}

Ou seja, digitamos function, damos um nome que quisermos a função, vem os parêntesis, os parâmetros que queremos passar para a função, e o par de chaves.

Dentro do par de chaves, vem o código, o corpo da função, onde a mágica vai ocorrer.
Por fim, o comando return que retorna algum valor.

Os parâmetros e return não são obrigatórios e vamos aprender mais adiante como usar eles.

Vamos criar uma função, chamada olamundo() que simplesmente existe "Olá, mundo":
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <?php
   function olamundo(){
    echo "Olá, mundo";
   }
 ?>
 </body>
</html>
Quando rodamos a página, nada acontece.
Nem o Olá, mundo aparece. Por que?

Função é um pedaço de código que fica ali, guardado, na dele.
Só faz algo quando invocamos. Vamos chamar nossa função olamundo():
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <?php
  olamundo();
  
  function olamundo(){
    echo "Olá, mundo";
  }
 ?>
 </body>
</html>
Agora sim, aparece!

Experimente digitar:
olamundo();
olamundo();
olamundo();

Vai aparecer a mensagem 3x. E não tivemos que dar 3 echo.
Cada vez que invocamos, um bloco específico de código é executado, não precisamos ficar repetindo o mesmo código várias vezes.

É só criar funções bem específicas, com tarefas simples e invocar elas.

Vamos agora criar mais uma, a curso()
Que exibe na tela "Curso PHP Progressvo"
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <?php
  olamundo();
  curso();
  
  function olamundo(){
    echo "Olá, mundo<br />";
  }
  function curso(){
    echo "Curso PHP Progressivo<br />";
  }
 ?>
 </body>
</html>
O resultado são as duas strings, printadas no documento HTML.

Captou a ideia por trás das funções?
Calma que estas aí são bem simples, vamos fazer umas mais interessantes no próximo tutorial.

Nomes de funções

Antes de criar suas funções, atenção para algumas coisas:

  • Não deve existir nenhuma outra função com esse nome (nada de criar uma chamada pow(), por exemplo)
  • Só pode conter letra, dígito ou sublinhado
  • Não comece por dígitos
  • Tanto faz ser maiúscula ou minúscula, não são case sensitive, minhafuncao() é a mesma de MINHAFUNCAO()

Veja também

O melhor PC para programar

O melhor celular para programar