Declarações de Tipo para Parâmetros
Parte da seção Fundamentos do Journey de PHP da Coddy. Lição 65 de 71.
PHP é uma linguagem fracamente tipada, o que significa que variáveis podem conter qualquer tipo de dados. Embora essa flexibilidade seja conveniente, ela pode levar a bugs inesperados quando uma função recebe o tipo errado de argumento. Declarações de tipo permitem que você especifique exatamente quais tipos seus parâmetros devem aceitar.
Para adicionar uma declaração de tipo, coloque o nome do tipo antes do parâmetro:
<?php
function double(int $number) {
return $number * 2;
}
echo double(5);
?>Isso produz 10. O int antes de $number informa ao PHP que esta função espera um inteiro. Se alguém passar uma string como "hello", o PHP produzirá um erro em vez de causar problemas silenciosamente mais tarde.
Você pode usar declarações de tipo com múltiplos parâmetros:
<?php
function greetUser(string $name, int $age) {
return "$name is $age years old.";
}
echo greetUser("Alice", 25);
?>As declarações comuns de tipos incluem int, float, string, bool e array. Usá-los torna seu código mais previsível e ajuda a detectar erros precocemente, especialmente à medida que seus programas crescem.
Desafio
FácilLeia três linhas de entrada:
- O primeiro nome de uma pessoa (ex.:
Alice) - O sobrenome de uma pessoa (ex.:
Smith) - Um ano de nascimento (ex.:
1995)
Crie uma função chamada createProfile que aceita três parâmetros com declarações de tipo:
$firstNamecomostring$lastNamecomostring$birthYearcomoint
A função deve calcular a idade da pessoa (assuma que o ano atual é 2024) e retornar uma string no seguinte formato:
[firstName] [lastName] is [age] years old.Chame a função com os valores de entrada e imprima o resultado retornado.
Exemplo 1:
Se as entradas forem Alice, Smith e 1995, a saída deve ser:
Alice Smith is 29 years old.Exemplo 2:
Se as entradas forem Bob, Johnson e 2000, a saída deve ser:
Bob Johnson is 24 years old.Exemplo 3:
Se as entradas forem Emma, Davis e 1988, a saída deve ser:
Emma Davis is 36 years old.Experimente você mesmo
<?php
// Ler a entrada
$firstName = trim(fgets(STDIN));
$lastName = trim(fgets(STDIN));
$birthYear = intval(fgets(STDIN));
// TODO: Crie a função createProfile com declarações de tipo
// A função deve aceitar $firstName (string), $lastName (string) e $birthYear (int)
// Calcule a idade (o ano atual é 2024) e retorne a string formatada
// Chame a função e imprima o resultado
echo createProfile($firstName, $lastName, $birthYear);
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de StringPratique por conta própria: Compilador de PHP online