पिछले tutorial में, हमने built-in functions के बारे में सीखा था । built-in functions, PHP में रेडीमेड(readymade) फ़ंक्शन हैं। built-in functions के अलावा, आप अपने स्वयं(own) के फ़ंक्शन भी बना सकते हैं।प्रोग्रामर(user) द्वारा बनाए जाने वाले functions को user-defined functions कहा जाता है। User-defined functions में, प्रोग्रामर कार्य प्रदर्शन (functionality) के अनुसार function बना सकता है। जबकि built-in function में रेडीमेड कार्यक्षमता(funtionality) पहले से ही बनी होती हैं। आपको फ़ंक्शन का उपयोग करना होगा। User-defined functions के भी बहुत सारे लाभ हैं। प्रोग्रामर को अपने स्वयं के कार्य करने के लिए एक एप्लिकेशन विकसित करता हैं। प्रोग्रामर पहले बने हुए functions की use करने का साथ साथ अपने खुद के functions भी बना सकते हैं ऐसे फंक्शन जिसमे प्रोग्रामर खुद से किसी टास्क(task) को करने के लिए पूरी functionality डिफाइन करता हैं यूजर डिफाइन फंक्शन कहलाते है ।
User-defined functions वे functions हैं जो किसी टास्क(task) को पूरा करने के लिए प्रोग्रामर के द्वारा खुद बनाये जाते हैं । सरल शब्द में, user-defined functions प्रोग्रामर द्वारा उनकी आवश्यकताओं के अनुसार बनाये जाता हैं । PHP में विभिन्न bult-in functions होते हैं और प्रोग्रामर खुद भी अपने functions बना सकते हैं । एक function स्टेटमेंट(block of code,functionalty) का एक ब्लॉक होता है जिसे किसी प्रोग्राम में बार-बार इस्तेमाल किया जा सकता है। एक फ़ंक्शन execute (रन होना) होगा जब फ़ंक्शन को कॉल किया जाएगा (फंक्शन को कहाँ पर use करना हैं ) फ़ंक्शन को "function" शब्द द्वारा declare किया जाता हैं ।
function functionName() {
code will be executed;
}
function - function डिक्लेअर करने के लिए एक शब्द । functionName-- एक फ़ंक्शन नाम (आप फ़ंक्शन के लिए किसी भी नाम का उपयोग कर सकते हैं)।
User-defined functions बनाना बहुत आसान है। एक फ़ंक्शन बनाने के लिए, "function" शब्द का उपयोग करते हैं । function शब्द के साथ फ़ंक्शन का नाम देना होता हैं ।फ़ंक्शन का नाम आप कुछ भी ले सकते हैं। आप कार्य(task) के अनुसार फ़ंक्शन का नाम बना सकते हैं। फ़ंक्शन नाम चुनने के लिए यह एक बेहतर सुझाव है। आइए PHP user-defined functions के उदाहरण से समझते हैं । नीचे दिए गए उदाहरण में, हम built-in function फंक्शन echo() function का use करके कुछ नामो को डिस्प्ले कराते हैं यहाँ पर हम एक फंक्शन बांयेंगे (यूजर डिफाइंड फंक्शन) ओर उस फंक्शन के द्वारा ही हम नाम को display करेंगे ।
<?php
function print_name()
{
echo "Ram.
";
echo "Syam.
";
echo "Mohan.
";
echo "Sohan.
";
}
print_name();
?>
Runऊपर दिए गए उदाहरण में, हम एक print_name() फ़ंक्शन बनाते हैं। इस फ़ंक्शन में, हम built-in function (echo फ़ंक्शन) की मदद से कुछ नमो को डिस्प्ले(display) किया हैं।फ़ंक्शन की कार्यक्षमता(functionality) बनाने के बाद, हम ब्लॉक(कोड ऑफ़ ब्लॉक) के बाहर फ़ंक्शन का उपयोग करते हैं इस उदाहरण में, हम फ़ंक्शन ब्लॉक के बाहर फ़ंक्शन को कॉल कराते हैं। फ़ंक्शन को कॉल करके, हम फ़ंक्शन की कार्यक्षमता(functionality) का उपयोग कर सकते हैं। जब तक हम फंक्शन को बाहर कॉल नहीं कराएंगे तब तक आपको कोई भी आउटपुट नहीं मिलेगा ।फंक्शन बनने के बाद फंक्शन को कॉल करना जरूरी होता हैं ताकि उसकी कार्यक्षमता (functionality) को use कर सकते ।ताकि हम फ़ंक्शन की कार्यक्षमता का उपयोग कर सकें।
जैसा कि हमने ऊपर बात की है, आप किसी भी कार्य(task) को करने के लिए फंक्शन बना सकते हैं। इस user-defined function में,दो नंबरो की गुना(मल्टिप्लिकेशन) करने के लिए एक फंक्शन बनाते हैं जिस से आपको पता चलगे कैसे हम फंक्शन की functionality(लॉजिक्स) बना कर प्रोग्राम में उपयोग कर सकते हैं । यहाँ पर फंक्शन का नाम हम math लेते हैं क्युकी हम मल्टिप्लिकेशन करना चाहते हैं जो की math से related हैं । इसलिए related वर्ड का उपयोग करके हम फंक्शन के नाम बनाते हैं ।
<?php
function math()
{
$x=20;
$y=34;
$z=$x*$y;
echo "Multiplication of x and y:$z";
}
math();
?>
RunMath- एक फ़ंक्शन नाम। $x= 20; - $x (वेरिएबल) की define(डिफाइंड) वैल्यू 20 है। $y = 34; - $y (variable) की निर्धारित value 34 है। $z = $x * $y; - $ x और $ y का गुणन(multiplication logic )। ये एक लॉजिक हैं जिसको हमने फंक्शन के कोड ब्लॉक(code of block) में डिफाइन किया हैं । math(); - फंक्शन के बाहर कॉल करने पर दोनों नंबर की multiplication वैल्यू हमे मिल जाती हैं ।
पिछले टुटोरिअल में, हमने PHP में loops को सीखा था । यहाँ पर हम 0 से 10 तक नंबर की एक टेबल बनाए के लिए एक फंक्शन बनाएंगे । 0 से 10 तक टेबल बनाने के लिए हम for loop का उपयोग फंक्शन में करेंगे । ये सब function की फंक्शनलिटी(functionality) के नाम से भी जाना जाता हैं । उसके बाद, आप आसानी से फ़ंक्शन को कॉल करके टेबल display कर सकते हैं।
ऊपर दिए गए उदाहरण में हमने एक फ़ंक्शन बनाया है, फंक्शन का नाम table लिया गया हैं क्युकी फंक्शन का नाम हमेशा टास्क से सम्बंधित (रिलेटेड) ही डिफाइन करना चाइये । table फ़ंक्शन में, हमने table बनाने के लिए for loop उपयोग किया है और ब्लॉक के अंत में, हमने फ़ंक्शन को इसके नाम से कॉल कराया हैं ।
जैसे की आप ऊपर के example में देख ही चुके हैं की हम किसी टास्क के लिए कोई भी functionality बना सकते हैं ।इस उदहारण में हम एक notification के लिए एक छोटी सी functionality बनायेंगे की जब हमारा फंक्शन चले तो हमे एक नोटिफिकेशन मैसेज डिस्प्ले हो इस से आपको यूजर डिफाइंड फंक्शन बनाना ओर भी साफ़ हो जायेगा ।
<?php
function notification($msg)
{
echo "You have new.$msg";
}
notification('Message');
?>
Runऊपर दिए गए उदाहरण में, हम "notification " नाम से एक फ़ंक्शन बनाते हैं। यहाँ पर हमने notification के नाम से ही फंक्शन बनाया हैं ।क्युकी ये functionality से सम्बंधित हैं । notification फ़ंक्शन में, हम एक वेरिएबल पास(as argument) करते हैं। फ़ंक्शन ब्लॉक में, हम एक नोटिफिकेशन के साथ वेरिएबल डिफाइन करते हैं । उसके बाद , हम फ़ंक्शन को कॉल करते हैं और वेरिएबल की वैल्यू को पास करते हैं । जब भी फंक्शन execute होता हैं तो एक नोटिफिकेशन मिलती हैं । ये भी एक अलग तरीका होता हैं की आप फंक्शन में एक argument(parameter) के रूप में वेरिएबल को पास कर देते हो और फंक्शन को कॉल करते टाइम (use करते टाइम) उस वेरिएबल की वैल्यू डिफाइन कर देते हो । यह concept function with arguments में होता हैं । user defined function का ये ही concept की प्रोग्रामर कोई भी टास्क को कम्पलीट करने के लिए अपने खुद के फंक्शन बना सकता हैं । इन्हे ही हम user defined functions कहते हैं ।