PHP 8.0 Update ล่าสุดแล้ว มีอะไรใหม่บ้าง มาดูกัน
อย่างที่ทุกคนทราบกันดีว่าในปีนี้ ทีมพัฒนา PHP จะเปิดตัว Version 8.0 และล่าสุดได้เปิดตัวอย่างเป็นทางการแล้วเมื่อวันที่ 26 พ.ย. 2020 ที่ผ่านมา เป็นการอัปเดตที่สำคัญของภาษา PHP ประกอบด้วยคุณลักษณะใหม่ๆ และการปรับให้เหมาะสม ดังนี้Named Argument เลือกระบุเฉพาะตัวที่เป็น Required ได้, ไม่ต้องเรียงลำดับ และเสริม Self-Documented เข้าไป
Union Type ประกาศ Union Type ได้โดยตรงเลยแทนการใช้ PHPDoc Annotation และจะถูกตรวจสอบที่ Runtime ทำให้ Code สั้นลง เป็นระเบียบมากขึ้น
Attribute เปลี่ยนจากการใช้ PHPDoc Annotation มาเป็นการใช้ Structured Metadata ด้วย Native Syntax แทน
Constructor Property Promotion ช่วยให้ Code สั้นลงและอ่านง่ายขึ้น
Match Expression ปรับการ Match ใหม่ให้คล้ายกับ Switch โดยอยู่ในรูปของ Expression และสามารถนำผลลัพธ์ไปใส่ในตัวแปรหรือ Return ได้ ทำให้ Code กระชับยิ่งขึ้น
Nullsafe Operator ช่วยให้เขียน Code ให้ตรวจสอบค่า null ได้สั้นลงมากๆ
JIT PHP 8 มี JIT Compilation Engine 2 ตัว โดย Tracing JIT จะทำงานได้เร็วกว่า Function JIT 1.5-3 เท่าแล้วแต่กรณีการใช้งานนั้นๆ แต่เร็วกว่าเดิมแน่นอน
WeakMap ตัวแปรที่ใช้อ้างอิง Object แบบหลวมๆ และอนุญาตให้ GC ไล่เก็บตัวแปรไปทิ้งได้ มีประโยชน์หลายอย่าง เช่นการทำ Cache ก่อนหน้านี้ถ้าจะใช้ WeakMap เราจะต้องลง weakref ก่อน แต่กับ PHP 8 นั้นจะมีให้ใช้เลยโดยไม่ต้องลงอะไรเพิ่ม
อื่นๆ ปรับปรุงการทำ Type System และ Error Handling