PHP 7 - Khai báo kiểu vô hướng

Trong PHP 7, một tính năng mới, khai báo kiểu Scalar, đã được giới thiệu. Khai báo kiểu vô hướng có hai tùy chọn:

  • coercive - cưỡng chế là chế độ mặc định và không cần phải chỉ định.

  • strict - chế độ nghiêm ngặt phải gợi ý rõ ràng.

Các loại tham số hàm sau có thể được thực thi bằng cách sử dụng các chế độ trên:

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

Ví dụ - Chế độ cưỡng chế

<?php
   // Coercive mode
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

Nó tạo ra đầu ra trình duyệt sau:

9

Ví dụ - Chế độ nghiêm ngặt

<?php
   // Strict mode
   declare(strict_types=1);
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

Nó tạo ra đầu ra trình duyệt sau:

Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...