PHP 強制使用「強型態」的模式

PHP 7 之後,function、Class 等等都可以指定型態、回傳的型態,但是雖然寫 int,傳進來還是可以傳 float,要怎麼強制型態不對就直接出錯誤呢?

function 指定型態完整寫法

  1. <?php
  2. function sum(int $a, int $b): int
  3. {
  4. return $a + $b;
  5. }
  6. function avg(int $a, int $b): float
  7. {
  8. return ($a + $b) / 2;
  9. }
  10. // Class
  11. class C {}
  12. class D extends C {}
  13. function f(C $c)
  14. {
  15. echo get_class($c)."\n";
  16. }
  17. f(new C); // C
  18. f(new D); // D
  19. ?>

PHP 的型態:PHP: Type declarations

閱讀全文〈PHP 強制使用「強型態」的模式〉