Làm cách nào để cung cấp gợi ý kiểu cho biến trả về trong khai báo hàm PHP?

Khai báo kiểu cho phép các hàm yêu cầu các tham số thuộc một kiểu nhất định tại thời điểm gọi. Nế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ệ

0. Chúng tôi không sử dụng hoặc khuyến khích sử dụng PHP < 7 trong các dự án của chúng tôi

Để chỉ định khai báo kiểu, tên kiểu phải được thêm vào trước tên tham số. Khai báo có thể được thực hiện để chấp nhận các giá trị

1 nếu giá trị mặc định của tham số được đặt thành 
1

Để kích hoạt tính năng nhập nghiêm ngặt trong PHP, bạn cần đặt lệnh

3 ở đầu tệp của mình, trước định nghĩa 
4

Bạn có thể nhập đối số hàm gợi ý và giá trị trả về, ví dụ

Khi phương thức có thể trả về nhiều loại (ví dụ: chuỗi hoặc boolean), không chỉ định loại trả về, vì điều này rất có thể sẽ đưa ra

0 ngoại lệ (bạn có thể đọc RFC cho gợi ý đánh máy 
0 cho phiên bản 7. 3 đây)

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

Các loại hợp lệ là tên lớp cho đối số nhận đối tượng và mảng cho đối số nhận mảng. Đây là một ví dụ

name . " in " . $school->name;
}

Bằng cách cho PHP biết chính xác loại đối tượng mà phương thức

6 muốn nhận, bạn có thể đảm bảo rằng học sinh đang được ghi danh vào một trường học thay vì tu viện hoặc 401K. Tương tự như vậy, bạn biết rằng bạn sẽ không có bất kỳ con da dày cứng đầu nào xuất hiện trong ngày đầu tiên của lớp ba

Điều gì sẽ xảy ra nếu tôi cố gắng đăng ký tham gia medicare?

Mặc dù tôi là sinh viên, lỗi sau sẽ xảy ra

Catchable fatal error: Argument 2 passed to enroll() must be an instance of School, instance of Program given, called in typehint.php on line 32 and defined in typehint.php on line 6

Ifnull được sử dụng làm giá trị mặc định cho một đối số, nó cũng sẽ được cho phép. Đây là một ví dụ, lần này với mảng

Sẽ có một bữa tiệc miễn là có khách, có hoặc không có thức ăn

Hạn chế của gợi ý

Bất kỳ lớp được xác định nào cũng có thể là một gợi ý kiểu hợp lệ, mặc dù PHP không hỗ trợ gợi ý kiểu cho một đối tượng chung. Còn mọi thứ khác thì sao?

Đây là một ví dụ đặc biệt về những hạn chế của gợi ý kiểu của PHP

Catchable fatal error: Argument 1 passed to stringTest() must be an instance of string, string given, called in typehint.php on line 42 and defined in typehint.php on line 39

Bạn không phải là người đầu tiên nghĩ “Điều điên rồ này là gì? . " Không sao cả. sự việc đó tốt cho chúng ta. Trên thực tế, đây có thể là một
thông báo lỗi khó hiểu ngay từ cái nhìn đầu tiên.

7 không tìm kiếm một chuỗi, nó đang tìm kiếm một thể hiện của lớp 
8. Các kiểu dữ liệu vô hướng, chẳng hạn như chuỗi hoặc giá trị số nguyên, không được hỗ trợ trong gợi ý kiểu của PHP. Nhưng nó ổn mà. Nếu bạn cần đưa ra một lỗi hoặc đưa ra một ngoại lệ khi một đối số không phải là loại vô hướng (như chuỗi hoặc số nguyên), bạn có thể thực hiện xác thực cơ bản để phục vụ mục đích này bằng cách sử dụng các hàm như 
9 hoặc 
0

Cuộc chiến vô hướng

Đã có một chút tranh cãi về việc bổ sung gợi ý kiểu PHP vô hướng trong PHP 5. 4. Những người phản đối sự thay đổi cho rằng sự hỗ trợ này sẽ đi ngược lại các thiết kế cơ bản của PHP. PHP được coi là một ngôn ngữ gõ yếu. Về bản chất, điều này có nghĩa là PHP không yêu cầu bạn khai báo kiểu dữ liệu. Các biến vẫn có các kiểu dữ liệu được liên kết với chúng nhưng bạn có thể thực hiện những việc cơ bản như thêm một chuỗi vào một số nguyên mà không dẫn đến lỗi

Vào tháng 5 năm 2010, hỗ trợ cho gợi ý kiểu vô hướng đã được thêm vào thân cây PHP. Nhưng do phản ứng của cộng đồng, tính năng này sẽ không xuất hiện trong 5. 4 phát hành

Tóm lược

Gợi ý loại là một kỹ thuật được đưa vào PHP để lập trình hướng đối tượng (đặc biệt để xác định loại ngoại lệ bị bắt). Tôi khuyến khích bạn đọc thêm về cách làm việc với các đối tượng tại đây

Hình ảnh qua Carlos E. Ông già Noel / Shutterstock

Chia sẻ bài viết này

Làm cách nào để cung cấp gợi ý kiểu cho biến trả về trong khai báo hàm PHP?

Amanda Steigerwalt

Amanda Steigerwalt là một kỹ sư phần mềm 20 tuổi sống ở Mountain View, CA. Niềm đam mê phát triển web của cô ấy bắt đầu từ khi còn trẻ và cho đến nay đã giúp cô ấy rất nhiều trong cuộc sống. Khi cô ấy không viết mã tại nơi làm việc, người ta thường bắt gặp cô ấy ở nhà viết mã cho các dự án cá nhân của riêng mình. Amanda cũng thích mô tô, nghệ thuật xiếc và khám phá Mountain View. Một ngày nào đó cô ấy thực sự, thực sự hy vọng có được một con chó con

Làm cách nào để khai báo kiểu trả về trong PHP?

Không có cách nào để xác định kiểu trả về của hàm trong PHP vì nó được nhập lỏng lẻo . Bạn sẽ phải thực hiện xác nhận của mình trong chức năng gọi.

Làm cách nào để nhận giá trị trả về từ hàm trong PHP?

Trả về giá trị ¶ . Bất kỳ loại nào cũng có thể được trả về, bao gồm cả mảng và đối tượng. Điều này làm cho chức năng kết thúc thực thi ngay lập tức và chuyển quyền điều khiển trở lại dòng mà nó được gọi. by using the optional return statement. Any type may be returned, including arrays and objects. This causes the function to end its execution immediately and pass control back to the line from which it was called.

Cách khai báo biến với kiểu dữ liệu trong PHP?

Quy tắc cho các biến PHP. .
Một biến bắt đầu bằng dấu $, theo sau là tên của biến
Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới
Tên biến không được bắt đầu bằng số
Tên biến chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới (A-z, 0-9 và _ )

Đâu là cú pháp đúng để xác định kiểu trả về của hàm trong PHP?

Để khai báo kiểu cho hàm trả về, thêm dấu hai chấm (. ) và gõ ngay trước dấu ngoặc nhọn mở ( { ) khi khai báo hàm.