PHP 7 - Deklaracje typów skalarnych
W PHP 7 została wprowadzona nowa funkcja, deklaracje typów skalarnych. Deklaracja typu skalarnego ma dwie opcje -
coercive - koercja jest trybem domyślnym i nie trzeba jej określać.
strict - tryb ścisły musi wyraźnie wskazywać.
Następujące typy parametrów funkcji można wymusić za pomocą powyższych trybów -
- int
- float
- bool
- string
- interfaces
- array
- callable
Przykład - tryb przymusu
<?php
// Coercive mode
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Tworzy następujące dane wyjściowe przeglądarki -
9
Przykład - tryb ścisły
<?php
// Strict mode
declare(strict_types=1);
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1));
?>
Tworzy następujące dane wyjściowe przeglądarki -
Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...