Aprenda a definir tipos de retorno de função no PHP corretamente

Veja como definir tipos de retorno em funções PHP para melhorar a confiabilidade do código e evitar erros inesperados.

Como definir tipos de retorno de função no PHP

A partir do PHP 7, é possível definir tipos de retorno para funções, garantindo que o valor retornado seja do tipo esperado. Isso melhora a legibilidade do código e evita erros ao tentar usar um valor de tipo inesperado.

Sintaxe para definir tipos de retorno

Para definir o tipo de retorno de uma função, usamos : tipo após os parênteses:

<?php
function soma(int $a, int $b): int {
    return $a + $b;
}
echo soma(5, 3);
?>

Aqui, : int indica que a função sempre retornará um inteiro.

Definindo tipos de retorno para strings, arrays e booleanos

Podemos especificar outros tipos de retorno:

<?php
function mensagem(): string {
    return "Olá, mundo!";
}

function obterLista(): array {
    return ["Maçã", "Banana", "Laranja"];
}

function verificarIdade(int $idade): bool {
    return $idade >= 18;
}
?>

Cada função acima tem um tipo de retorno claramente definido, tornando seu uso mais previsível.

Usando void para funções sem retorno

A partir do PHP 7.1, podemos indicar que uma função não retorna valor usando void:

<?php
function logMensagem(string $mensagem): void {
    echo "Log: $mensagem";
}
?>

Aqui, void indica que a função não retorna nada explicitamente.

Retornos múltiplos com ? (Nullable Types)

Se uma função puder retornar null, usamos ? antes do tipo:

<?php
function buscarUsuario(int $id): ?array {
    return ($id === 1) ? ["nome" => "Carlos", "idade" => 30] : null;
}
?>

Isso indica que a função pode retornar um array ou null, aumentando a flexibilidade.

Definir tipos de retorno em funções PHP melhora a confiabilidade do código e facilita a depuração. Quando sabemos exatamente qual tipo de dado esperar, evitamos erros comuns, como tentar somar uma string com um número. Além disso, funções bem tipadas tornam APIs e bibliotecas mais seguras e previsíveis, reduzindo a necessidade de validações adicionais em cada chamada.

Algumas aplicações:

  • Garantia de que funções retornem o tipo esperado
  • Melhoria da legibilidade e segurança do código
  • Facilitação da manutenção e depuração
  • Maior previsibilidade ao desenvolver APIs e bibliotecas

Dicas para quem está começando

  • Prefira definir tipos de retorno para evitar retornos inesperados.
  • Use void quando a função não precisar retornar valores.
  • Utilize ? antes do tipo quando a função puder retornar null.
  • Se precisar de múltiplos tipos de retorno, considere usar mixed (PHP 8) ou lançar exceções.
  • Funções fortemente tipadas tornam o código mais seguro e previsível.

Contribuições de Rafael Nogueira

Compartilhe este tutorial: Como definir tipos de retorno de função no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como definir parâmetros padrão em funções PHP?

Veja como definir valores padrão para parâmetros de funções PHP, tornando seu código mais flexível e organizado.

Tutorial anterior

Como usar funções com múltiplos argumentos no PHP?

Veja como utilizar múltiplos argumentos em funções PHP para passar diversos valores e tornar o código mais dinâmico.

Próximo tutorial