PHP calling a function in function_exists -


अगर मैं function_exists का उपयोग निम्न के रूप में कर रहा हूँ:

  यदि ( ! Function_exists ('get_value')): फ़ंक्शन get_value ($ फ़ील्ड) {.. $ मूल्य लौटाओ; } अगर अंत;   

अब, जब मैं उपर्युक्त कार्य से पहले उसी फाइल में फ़ंक्शन कॉल करता हूँ, तो यह गंभीर त्रुटि देगा:

  घातक त्रुटि: अपरिभाषित फ़ंक्शन पर कॉल करें   

लेकिन, अगर मैं उपरोक्त कार्य के बाद इसे कॉल करता हूं, तो यह बिना कोई त्रुटि के मान लौटाएगा।

अब, अगर मैं Function_exists स्थिति, अर्थात्:

  फ़ंक्शन get_value ($ फ़ील्ड) {.. $ मूल्य लौटाएं; }   

यदि मैं इस फ़ंक्शन को उसी दस्तावेज़ से पहले या बाद में कॉल करता हूं तो यह काम करेगा। ऐसा क्यों है?

यदि आप फ़ंक्शन को बिना सीधे if स्टेटमेंट के परिभाषित करते हैं, तो इसे बनाया जाएगा कोड को पार्स करने / संकलन करना और इसके परिणामस्वरूप यह संपूर्ण दस्तावेज में उपलब्ध है।

यदि आप इसे अंदर डालते हैं, तो अगर बयान कार्यान्वित करते हैं तो इसे बनाया जाएगा और इसलिए इसका उपयोग करना संभव नहीं है अपनी परिभाषा से पहले इस बिंदु पर, if स्टेटमेंट से ऊपर लिखी गई सब कुछ पहले से ही कार्यान्वित किया जाता है।

Comments