
प्रोग्रामिंग के साथ PHP कर सकते हैं कि, इस अवसर पर, आप बनाने के लिए लिया है का उपयोग करें बेनामी कार्य. बेनामी कार्य में घोषित किए गए हैं जो कार्य कर रहे हैं स्वयं प्रवाह कोड है कि विकसित कर रहे हैं और मानते हैं कि वे कार्य करता है कि हम का उपयोग कर रहे हैं की केवल उस जगह में, क्यों नहीं उन्हें अलग मानना और पुन: उपयोग.
सामान्य रूप से, इन कार्यों के रूप में उपयोग किया जाता है रिसेप्शन के कॉलबैक अन्य फ़ंक्शंस या घटनाक्रम, और उपचार उन है कि ऐसे में एन्कोडेड है कॉलबैक ओ घटना आपके पास होना चाहिए. इस रास्ते में, तुम एक विकास कर सकते हैं या घटना-उन्मुख प्रोग्रामिंग, के रूप में अन्य भाषाओं की तरह जावास्क्रिप्ट.
अगर कभी आप जावास्क्रिप्ट में क्रमादेशित है, जब करते हैं, उदाहरण के लिए, एक कॉल करने के लिए फ़ंक्शन setTimeout, यह है जो पैरामीटर्स में से एक है एक कॉलबैक यह तब होता है जब चलाने के लिए इच्छित फ़ंक्शन घटना.
1 | setTimeout( function() { console.log( 'test' ); }, 3000 ); |
ऐसा ही, में PHP कई बार जब यह उपयोग करने के लिए उपयुक्त है कॉलबैक के रूप में फ़ंक्शन के पैरामीटर्स. इसके बाद हम पीएचपी में एक गुमनाम समारोह के संभावित उपयोग देखेंगे. चलो मान लेते हैं कि हमारे पास एक फ़ंक्शन है जिसमें इसके पैरामीटर में से एक है कॉलबैक:
1 | nombre_funcion( $parametro1, $parametro2, $callback = '' ); |
में पैरामीटर $कॉलबैक, हम सीधे मिल सके फ़ंक्शन का नाम मैं इसे चलाने के लिए चाहते हैं, और है कि हम पहले परिभाषित, या तो, सीधे एक अनाम समारोह. हम दो रूप देखेंगे:
- कॉल करके एक पहले निर्धारित समारोह:
1 2 3 4 5 | function mi_funcion() { //código de mi_funcion } nombre_función ( $parametro1, $parametro2, 'mi_funcion' ); |
- के उपयोग से एक अनाम समारोह:
1 2 3 4 5 | nombre_funcion( $parametro1, $parametro2, function() { //código de la función anónima } ); |
पैरामीटर या चर बेनामी कार्य करने के लिए पारित करने के लिए कैसे
जब हम का उपयोग करें बेनामी कार्य, इन कोड के भीतर, हम पहुँच नहीं है करने के लिए चर या वस्तुओं है कि आप पहले में परिभाषित किया गया है कूट-कूट कर भरा, तो, यदि आप उनमें से कुछ करने के लिए संदर्भित करने के लिए की जरूरत है, या तो हम इसे ग्लोबल बना, या तो हम उन्हें करने के लिए पहुँच देना, के रूप में हम नीचे देखेंगे:
लगता है पिछले उदाहरण कुछ के साथ पिछले कोड जोड़ा गया:
1 2 3 4 5 6 7 | $aux = 'Esto es una prueba'; nombre_funcion( $parametro1, $parametro2, function() { //Desde aquí no tengo acceso a la variable $aux } ); |
से गुमनाम समारोह के भीतर हम पहुँच नहीं है करने के लिए चर $aux पूर्व निर्धारित. यह चर का उपयोग करने में सक्षम होना करने के लिए, हम निम्नलिखित तरीके में क्या करना है:
1 2 3 4 5 6 7 | $aux = 'Esto es una prueba'; nombre_funcion( $parametro1, $parametro2, function() use ( $aux ) { //Ahora sí que tenemos acceso a la variable $aux } ); |
जोड़ना, बाद समारोह पहचानकर्ता समारोह(), शब्द का उपयोग करें और उसके बाद, लघुकोष्ठक, चर करने के लिए जो हम का उपयोग करना चाहते हैं, हम कर रहे हैं की अनुमति उस से गुमनाम समारोह अंदर हमारे पास है पहुँच करने के लिए चर, क्या अमेरिका रोकेगी घोषित करने के लिए होने वैश्विक चर और बाद के उपयोग बयान फ़ंक्शन के अंदर.
