Declaraciones de tipo para parámetros
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 65 de 71.
PHP es un lenguaje de tipado flojo, lo que significa que las variables pueden contener cualquier tipo de datos. Aunque esta flexibilidad es conveniente, puede llevar a errores inesperados cuando una función recibe el tipo de argumento incorrecto. Las declaraciones de tipo te permiten especificar exactamente qué tipos deben aceptar tus parámetros.
Para agregar una declaración de tipo, coloque el nombre del tipo antes del parámetro:
<?php
function double(int $number) {
return $number * 2;
}
echo double(5);
?>Esto produce 10. El int antes de $number le indica a PHP que esta función espera un entero. Si alguien pasa una cadena como "hello", PHP producirá un error en lugar de causar problemas silenciosamente más tarde.
Puedes usar declaraciones de tipo con múltiples parámetros:
<?php
function greetUser(string $name, int $age) {
return "$name is $age years old.";
}
echo greetUser("Alice", 25);
?>Las declaraciones de tipos comunes incluyen int, float, string, bool y array. Usarlas hace que tu código sea más predecible y ayuda a detectar errores tempranamente, especialmente a medida que tus programas crezcan.
Desafío
FácilLee tres líneas de entrada:
- El primer nombre de una persona (p. ej.,
Alice) - El apellido de una persona (p. ej.,
Smith) - Un año de nacimiento (p. ej.,
1995)
Crea una función llamada createProfile que acepte tres parámetros con declaraciones de tipo:
$firstNamecomostring$lastNamecomostring$birthYearcomoint
La función debe calcular la edad de la persona (supón que el año actual es 2024) y devolver una cadena en el siguiente formato:
[firstName] [lastName] is [age] years old.Llama a la función con los valores de entrada e imprime el resultado devuelto.
Ejemplo 1:
Si las entradas son Alice, Smith y 1995, la salida debe ser:
Alice Smith is 29 years old.Ejemplo 2:
Si las entradas son Bob, Johnson y 2000, la salida debe ser:
Bob Johnson is 24 years old.Ejemplo 3:
Si las entradas son Emma, Davis y 1988, la salida debe ser:
Emma Davis is 36 years old.Pruébalo tú mismo
<?php
// Leer la entrada
$firstName = trim(fgets(STDIN));
$lastName = trim(fgets(STDIN));
$birthYear = intval(fgets(STDIN));
// TODO: Crear la función createProfile con declaraciones de tipo
// La función debe aceptar $firstName (string), $lastName (string) y $birthYear (int)
// Calcular la edad (el año actual es 2024) y devolver la cadena formateada
// Llamar a la función e imprimir el resultado
echo createProfile($firstName, $lastName, $birthYear);
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online