Nhập gợi ý phiên bản PHP
Trước tiên, hãy thử truyền vào hàm một đối số không phải là một mảng để xem điều gì có thể xảy ra trong trường hợp như vậy Show
Kết quả Lỗi này là một mô tả chính xác về những gì đã xảy ra với mã của chúng tôi. Từ đó, chúng ta có thể hiểu rằng hàm mong đợi một biến mảng chứ không phải một chuỗi Hãy viết lại mã và chuyển vào hàm một mảng với các mục dự kiến, bao gồm tên kiểu máy, thể tích bể và mpg (dặm trên gallon)
Kết quả Bây giờ nó đang hoạt động vì chúng ta đã truyền cho hàm mảng mà nó dự kiến sẽ nhận được PHP có hỗ trợ kiểu gợi ý cho các kiểu dữ liệu cơ bản không?nó phụ thuộc Trong khi PHP5 không cho phép gợi ý kiểu cho các kiểu dữ liệu cơ bản (số nguyên, số float, chuỗi và booleans), PHP7 không hỗ trợ gợi ý kiểu vô hướng PHP5 không hỗ trợ gợi ý kiểu cho các kiểu dữ liệu cơ bản như số nguyên, booleans hoặc chuỗi. Vì vậy, khi chúng ta cần xác thực rằng một đối số thuộc về một kiểu dữ liệu cơ bản, chúng ta có thể sử dụng một trong các hàm họ “is_” của PHP. Ví dụ
Mặt khác, PHP7 không hỗ trợ gợi ý kiểu vô hướng. Các loại được hỗ trợ là. số nguyên, số float, chuỗi và booleans Kể từ PHP 7 Gợi ý kiểu đang được gọi là khai báo Kiểu. PHP cho phép nhà phát triển cụ thể hơn về chức năng nào đang nhận và trả lại. Bạn có thể tùy ý chỉ định loại tham số mà hàm cần và loại kết quả mà hàm sẽ trả về. Để chỉ định khai báo kiểu, tên kiểu phải được thêm vào trước tên tham số. Trước tiên hãy xem một ví dụ int $var ) { echo $var; } $v = 200; $y = 'hello world'; printMe( $v ); //Prints 200 printMe( $y ); //Prints fatal error Trong ví dụ trên, chúng tôi đã chỉ định rằng tham số Fatal error: Uncaught TypeError: printMe(): Argument #1 ($var) must be of type int, string given...4 được truyền cho hàm Fatal error: Uncaught TypeError: printMe(): Argument #1 ($var) must be of type int, string given...5 phải là một số Fatal error: Uncaught TypeError: printMe(): Argument #1 ($var) must be of type int, string given...6 (số nguyên). Nếu tham số được truyền thuộc loại khác thì PHP sẽ tạm dừng và hiển thị thông báo lỗi Fatal error: Uncaught TypeError: printMe(): Argument #1 ($var) must be of type int, string given... Khai báo kiểu trả vềPHP (kể từ phiên bản 7) cũng hỗ trợ “Khai báo kiểu trả về”. Tương tự như “Khai báo kiểu”, khai báo kiểu trả về chỉ định loại giá trị sẽ được trả về từ một hàm. Để chỉ định khai báo kiểu trả về, tên kiểu (theo sau là dấu hai chấm Fatal error: Uncaught TypeError: printMe(): Argument #1 ($var) must be of type int, string given...7) phải được thêm vào sau dấu ngoặc đơn đóng của hàm. Xem ví dụ sau________số 8_______ Xử lý lỗi trong khai báo kiểuNếu giá trị đã cho là loại không chính xác, thì lỗi sẽ được tạo. trong PHP 5, đây sẽ là một lỗi nghiêm trọng có thể khôi phục được, trong khi PHP 7 sẽ đưa ra một ngoại lệ Fatal error: Uncaught TypeError: printMe(): Argument #1 ($var) must be of type int, string given...8 Trong ví dụ sau, chúng tôi sẽ chuyển kiểu dữ liệu không chính xác, chuỗi
Nhập Tuyên bố trong Lớp hoặc Giao diệnTham số phải là một function modulus(int $a, int $b) : int { return $a % $b; } $m = modulus ( 52 , 12 ); // 48 cùng lớp với phương thức được xác định trên. Điều này chỉ có thể được sử dụng trên các phương thức lớp và thể hiện Tôi có nên sử dụng gợi ý kiểu trong PHP không?Kể từ PHP 5, bạn có thể sử dụng gợi ý kiểu để chỉ định kiểu dữ liệu dự kiến của một đối số trong khai báo hàm . Khi bạn gọi hàm, PHP sẽ kiểm tra xem các đối số có thuộc loại được chỉ định hay không. Nếu không, thời gian chạy sẽ phát sinh lỗi và quá trình thực thi sẽ bị tạm dừng.
Gợi ý kiểu trong PHP là gì?Gợi ý loại là khái niệm cung cấp các gợi ý để hoạt động cho loại đối số dự kiến . Ví dụ: Nếu chúng ta muốn thêm một số nguyên trong khi viết hàm cộng, chúng ta đã đề cập đến kiểu dữ liệu (trong trường hợp này là số nguyên) của tham số.
Các loại khác nhau trong PHP 7 là gì?PHP 7 mở rộng các khai báo kiểu tham số trước đó trong các phương thức (lớp, giao diện và mảng) bằng cách thêm bốn kiểu vô hướng; . Integers ( int ), floats ( float ), booleans ( bool ) and strings ( string ) as possible parameter types.
Loại hỗn hợp trong PHP 8 là gì?Loại hỗn hợp trong PHP 8 có thể lấy bất kỳ loại thuộc tính/trả về/tham số nào . Chúng ta có thể nói rằng nó bao gồm null, có thể gọi được, tài nguyên, tất cả các đối tượng lớp hoặc tất cả các loại vô hướng trong PHP. Loại hỗn hợp tương đương với loại Union. |