En PHP 7, se ha introducido una nueva característica, declaraciones de tipo escalar. La declaración de tipo escalar tiene dos opciones:
Los siguientes tipos de parámetros de función se pueden aplicar utilizando los modos anteriores:
- int
- float
- bool
- string
- interfaces
- array
- callable
Ejemplo: modo coercitivo
<?php
// Coercive mode
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Produce la siguiente salida del navegador:
9
Ejemplo: modo estricto
<?php
// Strict mode
declare(strict_types=1);
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Produce la siguiente salida del navegador:
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...