PHP 7 - Kỳ vọng

Expectationslà một tính năng nâng cao tương thích ngược với hàm khẳng định () cũ hơn. Kỳ vọng cho phép xác nhận chi phí bằng không trong mã sản xuất và cung cấp khả năng đưa ra các ngoại lệ tùy chỉnh khi xác nhận không thành công. khẳng định () bây giờ là một cấu trúc ngôn ngữ, trong đó tham số đầu tiên là một biểu thức được so sánh với một chuỗi hoặc Boolean sẽ được kiểm tra.

Chỉ thị cấu hình cho khẳng định ()

Chỉ thị Giá trị mặc định Những giá trị khả thi
zend.assertions 1

1 - tạo và thực thi mã (chế độ phát triển)

0 - tạo mã nhưng nhảy xung quanh nó trong thời gian chạy

-1 - không tạo mã (chế độ sản xuất)

assert.exception 0

1 - ném, khi xác nhận không thành công, bằng cách ném đối tượng được cung cấp làm ngoại lệ hoặc bằng cách ném một AssertionError đối tượng nếu ngoại lệ không được cung cấp.

0 - sử dụng hoặc tạo một Throwable như được mô tả ở trên, nhưng chỉ tạo cảnh báo dựa trên đối tượng đó thay vì ném nó (tương thích với hành vi PHP 5)

Thông số

  • assertion- Sự khẳng định. Trong PHP 5, đây phải là một chuỗi được đánh giá hoặc là một Boolean để được kiểm tra. Trong PHP 7, đây cũng có thể là bất kỳ biểu thức nào trả về giá trị, giá trị này sẽ được thực thi và kết quả được sử dụng để cho biết xác nhận thành công hay thất bại.

  • description - Một mô tả tùy chọn sẽ được bao gồm trong thông báo lỗi, nếu xác nhận không thành công.

  • exception - Trong PHP 7, tham số thứ hai có thể là Throwable đối tượng thay vì một chuỗi mô tả, trong trường hợp đó đây là đối tượng sẽ được ném, nếu xác nhận không thành công và assert.exception chỉ thị cấu hình được bật.

Giá trị trả lại

FALSE nếu khẳng định là sai, TRUE nếu không thì.

Thí dụ

<?php
   ini_set('assert.exception', 1);

   class CustomError extends AssertionError {}

   assert(false, new CustomError('Custom Error Message!'));
?>

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

Fatal error: Uncaught CustomError: Custom Error Message! in...