No PHP 7, um novo recurso, declarações de tipo escalar, foi introduzido. A declaração de tipo escalar tem duas opções -
Os seguintes tipos de parâmetros de função podem ser aplicados usando os modos acima -
- int
- float
- bool
- string
- interfaces
- array
- callable
Exemplo - Modo Coercitivo
<?php
// Coercive mode
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Ele produz a seguinte saída do navegador -
9
Exemplo - Modo estrito
<?php
// Strict mode
declare(strict_types=1);
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Ele produz a seguinte saída do navegador -
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...