สัปดาห์ที่ผ่านมา PHP ออกเวอร์ชัน 8.2 ตามนโยบายการออกรุ่นใหญ่ปีละ 1 รุ่น ของใหม่ที่สำคัญในระดับของภาษาได้แก่
- readonly class เป็นการใส่ readonly modifier เพื่อป้องกันการสร้าง dynamic properties ให้คลาสนั้น
- กำหนดตัวแปร stand-alone เป็น null, false, true ได้แล้ว
- เพิ่มส่วนขยาย Random Number Generators ตัวใหม่
- ประกาศเลิกใช้ (deprecated) การทำ dynamic properties
ฟีเจอร์ทั้งหมดดูได้จาก PHP 8.2
การที่ PHP 7.4 เพิ่งหมดระยะซัพพอร์ตไปเมื่อเดือนที่แล้ว ทำให้ตอนนี้ PHP รุ่นที่ยังอยู่ในระยะซัพพอร์ตมีเฉพาะสาย 8.x เท่านั้น ได้แก่ 8.0, 8.1 และ 8.2 ซึ่งจะหมดระยะซัพพอร์ตปลายปี 2023, 2024, 2025 ตามลำดับ
ที่มา - PHP

on
การเลิกใช้ dynamic properties
crucifier Wed, 14/12/2022 - 14:56
การเลิกใช้ dynamic properties จะมีผลกระทบกับ ORM แน่ ต้องลำบากไป declare properties ให้ล้อตาม field ใน database อีก
ถ้าหมายถึง doctrine
rattananen Wed, 14/12/2022 - 15:18
In reply to การเลิกใช้ dynamic properties by crucifier
ถ้าหมายถึง Doctrine นี้ไม่มีปัญหาครับ
ปกติตอน hydration มันก็ map ตาม meta data ของ property ของ entity (class) อยู่แล้ว
และมันยัง backward compactible โดยใส่ Attribute AllowDynamicProperties ให้ class ได้อยู่ครับ
ผมว่าแบบนี้ก็ดีครับ เวลาพลาดพิมพ์ชื่อ property ผิด ตอน assign value จะได้รู้
เข้าใจว่าเฉพาะ readonly class
bow_der_kleine Wed, 14/12/2022 - 21:55
In reply to การเลิกใช้ dynamic properties by crucifier
เข้าใจว่าเฉพาะ readonly class ที่ใช้ dynamic prop ไม่ได้ ส่วน class ปกติยังใช้ได้อยู่ เหมือน @dataclass ใน Python
ถ้าทำผ่าน __get, __set
mementototem Thu, 15/12/2022 - 09:27
In reply to การเลิกใช้ dynamic properties by crucifier
ถ้าทำผ่าน
__get,__setก็ไม่มีปัญหาครับกำหนดตัวแปร stand-alone เป็น
shikima Wed, 14/12/2022 - 15:26
กำหนดตัวแปร stand-alone เป็น null, false, true ได้แล้ว >>>> น้ำตาจะไหล
แต่... server
7.4 มีเยอะพอสมควร 7.2 อีกอีกเยอะมาก 5.6 นี่... กะจะไม่อัพกันแล้วใช่ไหม
นวก.คอมฯคงบอกว่า 5.4
Architec Wed, 14/12/2022 - 15:39
นวก.คอมฯคงบอกว่า 5.4 ทั้งใจครับ ❤️
RNG native แล้ว นั้มตาจิไหล
itpcc Wed, 14/12/2022 - 22:42
RNG native แล้ว นั้มตาจิไหล ไม่ต้องพึ่ง OpenSSL แล้ว