Las declaraciones de tipo en PHP proporcionan comprobaciones de tipo en tiempo de ejecución para los argumentos de una función, los valores devueltos y las propiedades de una clase.
En las funciones, se puede añadir un tipo de retorno void para indicar que la función no devuelve ningún valor.
Los tipos declarados también sirven como comprobaciones en tiempo de ejecución de que las funciones devuelven una respuesta con un tipo razonable.
<?php
class Driver
{
private int $serial_number;
public function setSerialNumber(int $number): void
{
$this->serial_number = $number;
}
public function getSerialNumber(): int
{
return $this->serial_number;
}
}
$driver = new Driver();
$driver->setSerialNumber("Version 1b"); // This will throw a TypeError
Si el argumento de una función, el valor devuelto o una propiedad de clase puede ser de más de un tipo, se puede declarar una unión de tipos.
<?php
class IdentityCard
{
private int|null $id = null;
public function assign(int|float $id): void
{
$this->id = intval($id);
}
}
$card = new IdentityCard();
$card->assign(5.0);
Al trabajar con código, es posible que no podamos especificar un tipo.
A partir de PHP 8.0, se proporciona un tipo de escape llamado mixed.
mixed equivale a una unión de tipos de object|resource|array|string|float|int|bool|null.
Llevas un tiempo trabajando en la oficina municipal y has desarrollado un conjunto de herramientas que agilizan tu trabajo del día a día, por ejemplo para rellenar formularios.
Ahora se incorpora un nuevo compañero y te has dado cuenta de que puede que tus herramientas no se expliquen por sí solas. En tu oficina hay un montón de convenciones raras, como rellenar siempre los formularios con letras mayúsculas y evitar dejar campos vacíos.
Como primer paso, decides añadir declaraciones de tipo de PHP para que tu nuevo compañero pueda empezar a usar tus herramientas enseguida.
Address
Añade declaraciones de tipo a cada una de las propiedades declaradas de la clase Address.
Cada propiedad de la clase debe declararse como string.
Añade una declaración de tipo de parámetro y una declaración del tipo devuelto al método blanks de la clase Form.
El método debe recibir una longitud como entero y devolver una representación como string de la línea en blanco.
Añade una declaración de tipo de parámetro y una declaración del tipo devuelto al método letters de la clase Form.
El método debe recibir un string que representa palabras y devolver un array de letras.
Añade declaraciones de tipo de parámetro y una declaración del tipo devuelto al método checkLength de la clase Form.
El método debe recibir una palabra como string y una longitud máxima como entero, y devolver un valor verdadero o falso.
Añade una declaración de tipo de parámetro, haciendo uso de la clase Address actualizada anteriormente, y una declaración del tipo devuelto al método formatAddress de la clase Form.
El método debe recibir un Address y devolver un string con formato.
Regístrate en Exercism para aprender y dominar PHP con 11 conceptos122 ejercicios y mentoría humana real, todo gratis.