PHP में क्लोजर (closure) क्या है और use ऑपरेटर की क्यों जरूरत है?
सभी को नमस्ते! मैं PHP सीखना शुरू कर रहा हूँ और एनोनिमस फंक्शन्स और क्लोजर्स के विषय पर आ गया हूँ। लगता है एनोनिमस फंक्शन्स समझ आ गए, लेकिन जब क्लोजर्स पर पहुँचा, तो `use` ऑपरेटर पर अटक गया।
यहाँ वह कोड है जो मैंने डॉक्यूमेंटेशन में देखा:
```php
$message = "Hello, world!";
$greeting = function() use ($message) {
echo $message;
};
$greeting();
```
मैं समझता हूँ कि यह काम करता है, लेकिन समझ नहीं आता कि इस `use` की क्या जरूरत है। सामान्य फंक्शन्स की तरह फंक्शन के अंदर सीधे `$message` वेरिएबल का उपयोग क्यों नहीं कर सकते? उदाहरण के लिए:
```php
function test() {
echo $message; // यह काम क्यों नहीं करता?
}
```
मैंने यह भी पढ़ा है कि क्लोजर्स बाहरी स्कोप से वेरिएबल्स को "कैप्चर" कर सकते हैं। इसका क्या मतलब है? और अगर वेरिएबल को पैरामीटर के रूप में पास कर सकते हैं तो क्लोजर्स का उपयोग क्यों करें?