PHP 7 之後,function、Class 等等都可以指定型態、回傳的型態,但是雖然寫 int,傳進來還是可以傳 float,要怎麼強制型態不對就直接出錯誤呢?
function 指定型態完整寫法
<?php function sum(int $a, int $b): int { return $a + $b; } function avg(int $a, int $b): float { return ($a + $b) / 2; } // Class class C {} class D extends C {} function f(C $c) { echo get_class($c)."\n"; } f(new C); // C f(new D); // D ?>
PHP 的型態:PHP: Type declarations