เวลาเราเขียนฟังก์ชันใน PHP ยุคก่อน สิ่งหนึ่งที่น่าปวดหัวคือ “ลำดับของ Parameter” ยิ่งฟังก์ชันไหนมีตัวแปรให้ส่งเยอะ ๆ หรือมี Optional Parameter (ค่าเริ่มต้น) หลายตัว โค้ดของเราจะเริ่มดูรกและเข้าใจยากทันที
แต่ตั้งแต่ PHP 8.0 เป็นต้นมา ปัญหานี้จะหมดไปด้วยฟีเจอร์ Named Arguments ที่ช่วยให้เราสามารถส่งค่าเข้าฟังก์ชันโดยระบุชื่อ Parameter ได้โดยตรง ไม่ต้องสนลำดับอีกต่อไป!
💡 Named Arguments คืออะไร?
จากเดิมที่เราต้องส่งค่าตามลำดับ (Positional Arguments) เช่น ตึก, ชั้น, ห้อง พอเป็น Named Arguments เราจะส่งสลับกันอย่างไรก็ได้ ขอแค่ระบุชื่อให้ถูก เช่น ห้อง: 101, ตึก: A, ชั้น: 3
เปรียบเทียบให้เห็นภาพ
สมมติเรามีฟังก์ชันสำหรับตั้งค่า Cookie
PHP
PHP
function setCustomCookie(string $name, string $value, int $expire = 0, string $path = "", string $domain = "", bool $secure = false) {
// ... logic ...
}