Você está na página 1de 5

Linguagem PHP – Funções em PHP

O PHP tem mais de 1000 funções integradas que podem ser chamadas
diretamente, de dentro de um script, para executar uma tarefa específica.
Funções definidas pelo usuário PHP

Além das funções internas do PHP, é possível criar suas próprias funções.

 Uma função é um bloco de instruções que pode ser usado


repetidamente em um programa.
 Uma função não será executada automaticamente quando uma página
for carregada.
 Uma função será executada por uma chamada para a função.

Criar uma função definida pelo usuário em PHP

Uma declaração de função definida pelo usuário começa com a


palavra function:

Nota: Um nome de função deve começar com uma letra ou sublinhado. Os


nomes das funções NÃO diferenciam maiúsculas de minúsculas.

Dica: Dê à função um nome que reflita o que a função faz!

No exemplo abaixo, criamos uma função chamada "writeMsg()". A chave de


abertura ( { ) indica o início do código da função e a chave de fechamento ( } )
indica o fim da função. A função exibe "Hello world!". Para chamar a função,
basta escrever seu nome seguido de colchetes ():
Argumentos da função PHP

As informações podem ser passadas para funções por meio de


argumentos. Um argumento é como uma variável.

Os argumentos são especificados após o nome da função, dentro dos


parênteses. Você pode adicionar quantos argumentos quiser, basta separá-los
com uma vírgula.

O exemplo a seguir tem uma função com um argumento ($fname). Quando a


função familyName() é chamada, também passamos um nome (por exemplo,
Jani), e o nome é usado dentro da função, que gera vários nomes diferentes,
mas um sobrenome igual:

O exemplo a seguir tem uma função com dois argumentos ($fname e $year):

PHP é uma linguagem livremente tipada

No exemplo acima, observe que não precisamos informar ao PHP qual é o tipo
de dado da variável.

O PHP associa automaticamente um tipo de dado à variável, dependendo de


seu valor. Como os tipos de dados não são definidos em sentido estrito, você
pode fazer coisas como adicionar uma string a um inteiro sem causar um erro.

No PHP 7, foram adicionadas declarações de tipo. Isso nos dá uma opção para


especificar o tipo de dados esperado ao declarar uma função e, adicionando
a strict declaração, ele lançará um "Erro Fatal" se o tipo de dados não
corresponder.
No exemplo a seguir, tentamos enviar um número e uma string para a função
sem usar strict:

Para especificar strict, precisamos definir declare(strict_types=1);. Isso deve


estar na primeira linha do arquivo PHP.

No exemplo a seguir, tentamos enviar um número e uma string para a função,


mas aqui adicionamos a strict declaração:

A strictdeclaração força as coisas a serem usadas da maneira pretendida.

Valor do argumento padrão do PHP

O exemplo a seguir mostra como usar um parâmetro padrão. Se chamarmos a


função setHeight() sem argumentos, ela recebe o valor padrão como
argumento:
Funções PHP - Retornando valores

Para permitir que uma função retorne um valor, use a returninstrução:

Declarações de tipo de retorno PHP

O PHP 7 também suporta declarações de tipo para a return instrução. Assim


como na declaração de tipo para argumentos de função, ao habilitar o requisito
estrito, ele lançará um "Erro Fatal" em uma incompatibilidade de tipo.

Para declarar um tipo para o retorno da função, adicione dois pontos ( :) e o
tipo logo antes do colchete ( ) de abertura {ao declarar a função.

No exemplo a seguir, especificamos o tipo de retorno para a função:

Você pode especificar um tipo de retorno diferente dos tipos de argumento,


mas certifique-se de que o retorno seja o tipo correto:

Passando Argumentos por Referência

No PHP, os argumentos geralmente são passados por valor, o que significa


que uma cópia do valor é usada na função e a variável que foi passada para a
função não pode ser alterada.
Quando um argumento de função é passado por referência, as alterações no
argumento também alteram a variável que foi passada. Para transformar um
argumento de função em uma referência, o & operador é usado:

Você também pode gostar