PHP 7 - ความคาดหวัง

Expectationsเป็นการเพิ่มประสิทธิภาพที่เข้ากันได้กับฟังก์ชัน assert () รุ่นเก่า ความคาดหวังช่วยให้การยืนยันรหัสการผลิตเป็นศูนย์และให้ความสามารถในการโยนข้อยกเว้นที่กำหนดเองเมื่อการยืนยันล้มเหลว assert () เป็นโครงสร้างภาษาโดยที่พารามิเตอร์แรกเป็นนิพจน์เมื่อเทียบกับการเป็นสตริงหรือบูลีนที่จะทดสอบ

คำสั่งการกำหนดค่าสำหรับการยืนยัน ()

คำสั่ง ค่าเริ่มต้น ค่าที่เป็นไปได้
zend.assertions 1

1 - สร้างและรันโค้ด (โหมดการพัฒนา)

0 - สร้างรหัส แต่ข้ามไปรอบ ๆ ที่รันไทม์

-1 - ไม่สร้างรหัส (โหมดการผลิต)

assert.exception 0

1 - โยนเมื่อการยืนยันล้มเหลวไม่ว่าจะโดยการโยนวัตถุที่จัดให้เป็นข้อยกเว้นหรือโดยการขว้างปาใหม่ AssertionError วัตถุหากไม่ได้ระบุข้อยกเว้น

0 - ใช้หรือสร้าง Throwable ตามที่อธิบายไว้ข้างต้น แต่จะสร้างคำเตือนขึ้นอยู่กับวัตถุนั้นแทนที่จะโยนทิ้ง (เข้ากันได้กับพฤติกรรม PHP 5)

พารามิเตอร์

  • assertion- การยืนยัน ใน PHP 5 สิ่งนี้ต้องเป็นสตริงที่จะประเมินหรือบูลีนที่จะทดสอบ ใน PHP 7 นี่อาจเป็นนิพจน์ใด ๆ ที่ส่งคืนค่าซึ่งจะถูกดำเนินการและผลลัพธ์จะถูกใช้เพื่อระบุว่าการยืนยันสำเร็จหรือล้มเหลว

  • description - คำอธิบายเพิ่มเติมที่จะรวมอยู่ในข้อความแสดงความล้มเหลวหากการยืนยันล้มเหลว

  • exception - ใน PHP 7 พารามิเตอร์ที่สองสามารถเป็นไฟล์ Throwable วัตถุแทนสตริงอธิบายซึ่งในกรณีนี้เป็นวัตถุที่จะถูกโยนถ้าการยืนยันล้มเหลวและ assert.exception เปิดใช้งานคำสั่งการกำหนดค่า

ส่งคืนค่า

FALSE หากการยืนยันเป็นเท็จ TRUE มิฉะนั้น.

ตัวอย่าง

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

   class CustomError extends AssertionError {}

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

สร้างผลลัพธ์ของเบราว์เซอร์ต่อไปนี้ -

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