परिचय
बेनामी फ़ंक्शंस (जिसे लैम्ब्डा भी कहा जाता है) क्लोज़र . की वापसी वस्तु कक्षा। इस वर्ग में कुछ अतिरिक्त विधियां हैं जो अज्ञात कार्यों पर और नियंत्रण प्रदान करती हैं।
सिंटैक्स
क्लोजर {/* मेथड्स */ प्राइवेट __कंस्ट्रक्ट (शून्य) पब्लिक स्टैटिक बाइंड (क्लोजर $क्लोजर, ऑब्जेक्ट $newthis [, मिक्स्ड $न्यूस्कोप ="स्टैटिक"]):क्लोजर पब्लिक बाइंडटो (ऑब्जेक्ट $newthis [, मिक्स्ड $न्यूस्कोप ="स्थिर"]):क्लोजर पब्लिक कॉल (ऑब्जेक्ट $newthis [, मिश्रित $...])तरीके
निजी बंद::__निर्माण (शून्य) - यह विधि केवल क्लोजर वर्ग की तात्कालिकता को अस्वीकार करने के लिए मौजूद है। इस वर्ग के ऑब्जेक्ट अनाम फ़ंक्शन द्वारा बनाए जाते हैं।
सार्वजनिक स्थैतिक क्लोजर::बाइंड ( क्लोजर $क्लोजर , ऑब्जेक्ट $newthis [, मिश्रित $newscope ="static" ] ) - क्लोजर - एक विशिष्ट बाउंड ऑब्जेक्ट और क्लास स्कोप के साथ क्लोजर को डुप्लिकेट करता है। यह विधि क्लोजर ::बाइंडटो () का एक स्थिर संस्करण है।
सार्वजनिक क्लोजर::bindTo (ऑब्जेक्ट $newthis [, मिश्रित $newscope ="static"]) - क्लोजर - एक नई बाउंड ऑब्जेक्ट और क्लास स्कोप के साथ क्लोजर को डुप्लिकेट करता है। एक ही बॉडी और बाउंड वैरिएबल के साथ एक नया अनाम फ़ंक्शन बनाता है और देता है, लेकिन एक अलग ऑब्जेक्ट और एक नए क्लास स्कोप के साथ।
सार्वजनिक समापन::कॉल (ऑब्जेक्ट $newthis [, मिश्रित $...] ) - मिश्रित — अस्थायी रूप से क्लोजर को newthis से बांधता है, और इसे किसी दिए गए पैरामीटर के साथ कॉल करता है।
बंद करने का उदाहरण
nm=$x; }}// कॉल विधि का उपयोग करना $hello =function() {वापसी "हैलो"। $this->nm;};echo $hello->call(new A("Amar")). "\n";;// बाइंड मेथड का उपयोग कर $sayhello =$hello->bindTo(new A("Amar"),'A');echo $sayhello();?>आउटपुट
उपरोक्त प्रोग्राम निम्न आउटपुट दिखाता है
नमस्ते अमरनमस्कार अमर