PHP Variable Function

PHP Variable Function: जिस तरह से हम किसी Variable में Stored String Value को किसी अन्य Variable के नाम के रूप में Use कर सकते हैं, उसी तरह से हम किसी Function के नाम को भी किसी Variable में Value के रूप में Store कर सकते हैं और फिर जरूरत के अनुसार किसी Variable की Value के रूप में Stored Function के नाम को उस Variable द्वारा Execute कर सकते हैं। PHP के इस Feature को समझने के लिए हम एक उदाहरण देखते हैं:

<?php
	switch($which) {
		case 'first':
		first( );
		break;
		
		case 'second':
		second( );
		break;
	
		case 'third':
		third( );
		break;
	}
?>

इस PHP Program में $which नाम के Variable में Value के रूप में हम जिस Variable का नाम Specify कर देते हैं, वही Function Call हो जाता है।

उदाहरण के लिए यदि $which नाम के Variable में Value के रूप में “first” हो, तो case ‘first’: में Specified Function Execute हो जाता है, जबकि $which Variable में Value के रूप में ‘second’ या ‘third’ String होने की स्थिति में क्रमश:  second() या third() Function Execute हो जाता है।

यानी $which Variable में String Value को Change करके हम हमारी जरूरत के अनुसार किसी भी Function को Conditionally Execute कर सकते हैं।

यदि हम Function में किसी Parameter को भी Pass करना चाहें, तो वह Parameter हमें $which Variable के बाद एक Parenthesis Specify करके उस Parenthesis में देना होता है। जैसेः

$which(parameterList)

परेशानी तब Create होती है, जब हम $which Variable में किसी ऐसे Function का नाम Specify कर देते हैं, जो कि switch Statement में Exist नहीं होता।

उदाहरण के लिए यदि हम $which में Value के रूप में ‘fourth’ String Specify कर दें, तो ये PHP Script Execute होते समय Runtime Error Generate होता है। इस परिस्थिति से बचने के लिए हम PHP के function_exists() Built-in Function को उपयोग में ले सकते हैं।

ये Function Argument के रूप में किसी Function के नाम को String के रूप में Accept करता है और यदि Current Script में Function Available हो, तो ये Function True Return करता है, अन्यथा False Return करता है। इस Function को Use करते हुए हम उपरोक्त Code को निम्नानुसार भी लिख सकते हैं:

<?php
	switch(function_exists($which(parameter1, parameter2))) {
		case 'first':
		first($x, $y);
		break;
		
		case 'second':
		second($x, $y);
		break;
	
		case 'third':
		third($x, $y);
		break;
	}
?>

इस Code को देखकर आप समझ सकते हैं कि किस तरह से हम किसी Variable Function को अपने Code में उपयोग में ले सकते हैं और उसमें Parameters भी Pass कर सकते हैं।

जैसाकि हमने इस पुस्तक में पहले भी कई बार कहा है कि PHP में echo(), print(), isset() आदि कुछ ऐसे Statements हैं, जो कि लिखे तो Function की तरह जाते हैं, लेकिन ये वास्तव में Functions नहीं हैं।

बल्कि सरल शब्दों में इन्हें Language Constructs कहा जाता है और हम किसी Language Construct को Variable Function की तरह उपयोग में नहीं ले सकते। यानी निम्न Statement एक गलत Variable Function हैः

$f = ‘echo’;
$f(‘hello, world’); // does not work

हम उपरोक्त अनुसार echo() को Call नहीं कर सकते क्योंकि echo कोई Function नहीं बल्कि एक Language Construct है।


error: Content is protected !!

Special Discount Offer

खरीदिए एक से ज्‍यादा EBooks, और पाईए ₹100 से ₹1200 तक का Extra Cash Discount

Discount Coupon Codes