پرش به محتوا

آرگومان های با نام یا named arguments در PHP

تصور کنید که یه تابع به این صورت دارید که دو تا پارامتر اختیاری داره که مقدار پیشفرض رو توی ورودی تابع واسشون تعریف کردیم:

function test($x = 1, $y = 2) {
    var_dump($x, $y);
}

اگه مقدار اول رو نیاز داشته باشیم پاس بدیم بهش و دومی رو ندیم همه چی اوکیه و برای متغیر دوم مقدار پیشفرض ست میشه:

test(3);

// Output:
int(3)
int(2)

ولی از اونجایی که توی PHP آرگومان ها باید به ترتیب ارسال بشن نمیتونیم بگیم که مقدار اولی دیفالت باشه یا اون رو ازش بگذر و برو دومی رو مقدار دهی کن. یا باید آپشناله آخرین آرگومان باشه یا باید همون مقدار دیفالت رو مثلا دوباره بهش بدیم. خوشبختانه از ورژن PHP 8 توی این آر اف سی، این امکان اضافه شد که بشه آرگومان ها رو با نام فرستاد. ینی میتونیم به این صورت عمل کنیم:


<?php

function test($x = 1, $y = 2) {
    var_dump($x, $y);
}


test(y:3);

// Output:
int(1)
int(3)

جاهایی که تعداد زیادی متغیر اختیاری داریم خیلی به درد میخوره این مدل فراخوانی تابع.

منابع:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *