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; // 7Valores 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] startedPassagem 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 — changedVá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); // 5Elevaçã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-sensitiveFunçõ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); // 120Declaraçõ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); // 42Funçõ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: 9Verificaçã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
- Definição e chamada de funções
- Parâmetros padrão e variádicos
- Escopo de variáveis: local e global
- Funções anônimas e closures