PHP 7 में, हमारे पास पोजिशनल पैरामीटर्स हुआ करते थे। इसका मतलब है, हमें पहले आर्गुमेंट की स्थिति को केवल पहले पैरामीटर पर असाइन करने की आवश्यकता होती थी। PHP 7.x संस्करणों में लापता आर्गुमेंट्स के लिए डिफ़ॉल्ट मान का उपयोग किया जाता है।
PHP 8 में, हम पैरामीटर स्थिति के बजाय पैरामीटर नाम के आधार पर फ़ंक्शन को आर्गुमेंट्स पास कर सकते हैं। PHP 8 में क्रम मायने नहीं रखता, डिफ़ॉल्ट मानों को बेतरतीब ढंग से छोड़ना अनुमत है और यह सेल्फ-डॉक्यूमेंटिंग भी है।
उदाहरण - PHP 8 में नेम्ड आर्गुमेंट्स
PHP 8 में, आर्गुमेंट्स क्रम-स्वतंत्र और सेल्फ-डॉक्यूमेंटेड हैं।
हम वैकल्पिक पैरामीटर्स को छोड़ सकते हैं लेकिन केवल आवश्यक पैरामीटर्स निर्दिष्ट कर सकते हैं।
<?php
function sample($num = 1, $value = 5){
echo "Number: ", $num;
echo " ";
echo "Value: ", $value;
}
sample(value: 5, num: 30); // अलग क्रम में नेम्ड आर्गुमेंट्स
?>
आउटपुट
Number: 30 Value: 5
फ़ंक्शन परिभाषा में, आर्गुमेंट नाम पैरामीटर नामों से मेल खाते हैं। इसलिए, यह कोड बिना किसी त्रुटि के चलता है।