Uma função em PHP, e em qualquer outra linguagem, permite-nos ter um pedaço de código que podemos usar noutros sítios no código e páginas.

php_logo

Desta forma podemos escrever código que pode ser reutilizado noutras partes da nossa aplicação/site, sem que tenhamos de voltar a escrever esse mesmo código de todas as vezes que precisarmos.

Aqui está um exemplo de uma função simples em PHP:

 

Uma função tem de começar sempre com a directiva function, seguida do nome que queremos atribuir à nossa função. Neste caso a função tem o nome Ola. O nome da função deve ser seguido de um conjunto de parêntesis, o que nos permite definir parâmetros para a função. Os parâmetros não são obrigatórios, mas mesmo que não tenhamos parâmetros, temos de colocar sempre os parêntesis, desta forma Ola(). nesta função definimos o parâmetro $pessoa. Como em PHP não precisamos de definir o tipo de dados para o parâmetro, podemos enviar nesse parâmetro qualquer tipo de dados para a função. O conteúdo da nossa função fica dentro de chavetas, neste caso temos só a funcionalidade echo, através da qual escrevemos um texto de saudação a uma pessoa.

Para usarmos a função basta escrever o nome da função e o respectivo parâmetro dentro dos parêntesis, desta forma:

 

As funções também podem retornar valores. No exemplo anterior não o fizemos, pois não era necessário, mas é possível e muito útil. Se já estão familiarizados com outra linguagens de programação, devem estar habituados a definir se uma função retorna algum valor ou não, e até que tipo de dados vai retornar. No PHP não precisamos de o fazer. Para exemplificar, vamos transformar o nosso exemplo anterior para a seguinte forma:

 

Desta forma temos a função a retornar uma string em vez de fazer logo o output dentro da função, e depois fazemos então o output no momento em que chamamos a função. É desta forma que normalmente se faz, uma vez que fazer o output directo da string requer que a função esteja posicionada no sítio onde queremos escrever a string, em vez de estar no topo do documento ou num ficheiro incluído.

Um aspecto muito importante das funções são os níveis de execução. Quando entramos numa função, entramos num novo nível de execução, e enquanto que as funções e classes são automaticamente globais, o mesmo já não acontece com as variáveis. Isto quer dizer que uma variável declarada fora de uma função não está automaticamente acessível dentro da função. Experimentem este exemplo e vejam qual o resultado:

 

O resultado do primeiro output não irá conter o valor da variável $var, porque simplesmente não é conhecido dentro da função. Poderiam declaras esta variável dentro da função e atribuir-lhe um valor, mas fora da função o seu valor também não seria conhecido. No entanto é possível termos acesso às variáveis dentro da função, e para tal apenas temos de as declarar como globais dentro do nível de execução da função, da seguinte forma:

 

Quando declaramos uma função, podemos definir vários parâmetros como opcionais. Isto é feito atribuindo-lhes logo um valor na declaração. Mais que um parâmetro podem ser opcionais, mas apenas os últimos parâmetros podem ser opcionais, não podemos ter um parâmetro opcional seguido de um obrigatório. No próximo exemplo temos parâmetros opcionais para poderem verificar a forma correcta de o fazer:

 

Como podem ver podemos chamar a função com apenas um parâmetro ou com os dois. O output varia consoante a forma como chamamos a função, mas independentemente de tudo, a variável $msg terá sempre um valor. Esta forma pode tornar-se muito útil em muitas situações, pelas quais certamente irão passar quando estiverem a programar em PHP.

Artigo anterior do tutorial PHP:

Incluir ficheiros em PHP

Artigo seguinte do tutorial PHP:

Incluir ficheiros em PHP

Tiago Ramalho

Tiago Ramalho é um profissional de Informática interessado em Internet, Programação .NET e PHP e blogging. Nos tempos livres escreve nos interessespessoais.com sobre Jardim, Saúde, Sistemas, utilitários e outros temas relacionados com informática.

More Posts - Website - Twitter - Pinterest - Google Plus