สัปดาห์ที่ผ่านมา 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
Get latest news from Blognone
Follow @twitterapi
Comments
การเลิกใช้ dynamic properties จะมีผลกระทบกับ ORM แน่ ต้องลำบากไป declare properties ให้ล้อตาม field ใน database อีก
ถ้าหมายถึง Doctrine นี้ไม่มีปัญหาครับ
ปกติตอน hydration มันก็ map ตาม meta data ของ property ของ entity (class) อยู่แล้ว
และมันยัง backward compactible โดยใส่ Attribute AllowDynamicProperties ให้ class ได้อยู่ครับ
ผมว่าแบบนี้ก็ดีครับ เวลาพลาดพิมพ์ชื่อ property ผิด ตอน assign value จะได้รู้
เข้าใจว่าเฉพาะ readonly class ที่ใช้ dynamic prop ไม่ได้ ส่วน class ปกติยังใช้ได้อยู่ เหมือน @dataclass ใน Python
ถ้าทำผ่าน
__get
,__set
ก็ไม่มีปัญหาครับJusci - Google Plus - Twitter
กำหนดตัวแปร stand-alone เป็น null, false, true ได้แล้ว >>>> น้ำตาจะไหล
แต่... server7.4 มีเยอะพอสมควร 7.2 อีกอีกเยอะมาก 5.6 นี่... กะจะไม่อัพกันแล้วใช่ไหม
นวก.คอมฯคงบอกว่า 5.4 ทั้งใจครับ ❤️
RNG native แล้ว นั้มตาจิไหล ไม่ต้องพึ่ง OpenSSL แล้ว
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P