PHP 7 - Dichiarazioni di tipo scalare
In PHP 7 è stata introdotta una nuova funzionalità, le dichiarazioni di tipo scalare. La dichiarazione di tipo scalare ha due opzioni:
coercive - coercitivo è la modalità predefinita e non è necessario specificarlo.
strict - La modalità rigorosa deve essere esplicitamente suggerita.
I seguenti tipi di parametri di funzione possono essere applicati utilizzando le modalità precedenti:
- int
- float
- bool
- string
- interfaces
- array
- callable
Esempio: modalità coercitiva
<?php
// Coercive mode
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Produce il seguente output del browser:
9
Esempio: modalità rigorosa
<?php
// Strict mode
declare(strict_types=1);
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Produce il seguente output del browser:
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...