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...