0Pricing
PHP Academy · Aula

Definição e chamada de funções

Crie suas próprias funções com parâmetros e valores de retorno.

Definição e chamada de funções é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

Por Que Usar Funções?

As funções permitem agrupar uma lógica reutilizável e dar-lhe um nome, para que você possa chamá-la várias vezes sem repetir código. Benefícios:

  • Evitar repetição (princípio DRY)
  • Facilitar testes e depuração
  • Código que se documenta por si só

Definindo uma Função

Use a palavra-chave function, um nome, parâmetros opcionais e um corpo:

<?php
function greet(string $name): string {
    return 'Hello, ' . $name . '!';
}

echo greet('Alice'); // Hello, Alice!

Parâmetros e Argumentos

Parâmetros são os nomes das variáveis na definição; argumentos são os valores reais passados durante a chamada:

<?php
function add(int $a, int $b): int {
    return $a + $b;  // $a and $b are parameters
}

$sum = add(3, 4);  // 3 and 4 are arguments
echo $sum;  // 7

Valores de Retorno

Use return para enviar um valor de volta a quem chamou a função. Uma função sem return retorna NULL:

<?php
function square(float $n): float {
    return $n * $n;
}

function logMessage(string $msg): void {
    echo '[LOG] ' . $msg . PHP_EOL;
    // void functions must not return a value
}

echo square(4);        // 16
logMessage('started'); // [LOG] started

Passagem por Valor vs Referência

Por padrão, o PHP passa argumentos por valor (uma cópia). Adicione & antes para passar por referência:

<?php
function doubleByValue(int $n): void {
    $n *= 2;  // changes only the local copy
}

function doubleByRef(int &$n): void {
    $n *= 2;  // changes the original
}

$x = 5;
doubleByValue($x);
echo $x; // 5 — unchanged

doubleByRef($x);
echo $x; // 10 — changed

Vários Pontos de Retorno

Uma função pode ter várias instruções return para sair antecipadamente:

<?php
function divide(float $a, float $b): ?float {
    if ($b === 0.0) {
        return null;  // early return on error
    }
    return $a / $b;
}

var_dump(divide(10, 0));   // NULL
echo divide(10, 2);         // 5

Elevação de Funções

As funções PHP ficam disponíveis em todo o arquivo, independentemente de onde são definidas — ao contrário do JavaScript, a maioria das funções PHP não precisa ser declarada antes do uso (NOT):

<?php
echo double(5);  // 10 — works even though double is defined below

function double(int $n): int {
    return $n * 2;
}

// Exception: functions inside conditionals ARE position-sensitive

Funções Recursivas

Uma função que chama a si mesma é recursiva. Certifique-se sempre de definir um caso-base para evitar recursão infinita:

<?php
function factorial(int $n): int {
    if ($n <= 1) return 1;  // base case
    return $n * factorial($n - 1);  // recursive call
}

echo factorial(5);  // 120

Declarações de Tipo

O PHP 7+ oferece suporte a indicações de tipo para parâmetros e retornos. O PHP 8 adicionou mixed, never e tipos de interseção:

<?php
declare(strict_types=1);

function clamp(int $value, int $min, int $max): int {
    return max($min, min($max, $value));
}

echo clamp(150, 0, 100);  // 100
echo clamp(-5,  0, 100);  // 0
echo clamp(42,  0, 100);  // 42

Funções Nomeadas vs Integradas

O PHP inclui milhares de funções integradas. Você pode sempre verificar em tempo de execução se uma função existe:

<?php
if (function_exists('mb_strlen')) {
    echo mb_strlen('こんにちは');  // 5 — correct multi-byte length
} else {
    echo strlen('こんにちは');      // 15 — byte count, wrong for UTF-8
}

Retornando Vários Valores

Retorne vários valores retornando uma matriz e desestruturando-a no local da chamada:

<?php
function minMax(array $arr): array {
    return [min($arr), max($arr)];
}

[$min, $max] = minMax([3, 1, 7, 2, 9]);
echo "Min: $min, Max: $max";  // Min: 1, Max: 9

Verificação Rápida

O que uma função PHP sem uma instrução de retorno explícita retorna?

Recapitulação: Funções

Elementos essenciais das funções PHP:

  • Defina com function name(params): returnType
  • Passe por valor (padrão) ou por referência com &
  • Funções sem return retornam NULL
  • A recursão exige um caso-base
  • As funções ficam disponíveis em todo o arquivo (elevação)

A seguir: parâmetros padrão e variáveis.

Perguntas Frequentes

A aula “Definição e chamada de funções” é grátis?

Sim — o texto completo de “Definição e chamada de funções” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Definição e chamada de funções”?

Crie suas próprias funções com parâmetros e valores de retorno. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Definição e chamada de funções”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Definição e chamada de funções
  2. Parâmetros padrão e variádicos
  3. Escopo de variáveis: local e global
  4. Funções anônimas e closures
← Voltar para PHP Academy