ฟีเจอร์ใหม่ใน PHP 8
(stitcher.io)สิ่งที่จะถูกเพิ่มเข้ามาใน PHP 8 ที่จะประกาศในช่วงปลายปีนี้
-
Union type : รูปแบบ
int|float, ส่วน|nullคือ? -
JIT
-
ชนิดคืนค่า
static -
WeakMapสำหรับเก็บรีเฟอเรนซ์ของอ็อบเจ็กต์ -
ใช้
::classกับอ็อบเจ็กต์แทนget_class() -
DateTime::createFromInterface() -
ฟังก์ชัน
fdiv -
type annotation สำหรับฟังก์ชันที่มีมาในตัว
การเปลี่ยนแปลงที่ทำให้ความเข้ากันได้พัง
-
ฟังก์ชันที่มีมาในตัวก็จะโยนข้อยกเว้น
TypeErrorsด้วย -
ข้อผิดพลาดจำนวนมากที่ก่อนหน้านี้แค่แสดงคำเตือน จะถูกเปลี่ยนให้โยนข้อยกเว้นที่เหมาะสม
-
ระดับการรายงานข้อผิดพลาดเริ่มต้นจะเป็น
E_ALLทำให้ข้อผิดพลาดจำนวนมากที่เคยถูกมองข้ามแบบเงียบ ๆ ถูกแสดงออกมา -
ตัวดำเนินการ
@จะไม่เพิกเฉยต่อข้อผิดพลาดร้ายแรงอีกต่อไป -
ปรับลำดับของตัวดำเนินการเชื่อม
+,-และ.โดย+/-จะถูกประมวลผลก่อน.
2 ความคิดเห็น
สมกับเป็นการอัปเกรดเวอร์ชันใหญ่จริง ๆ ตรงที่ทำให้ความเข้ากันได้พังนี่แหละ! (…)
ดูเหมือนว่าส่วนที่เปลี่ยนแปลงใหญ่จริง ๆ จะเป็นเรื่องการจัดการ error และ exception ด้านล่าง มากกว่าฟีเจอร์ใหม่เสียอีก
ถ้าอัปเกรดแบบไม่ทันระวัง เว็บไซต์ PHP ที่เมื่อก่อนแค่เงียบ ๆ แล้วข้าม error ไป อาจเริ่มมีปัญหาได้