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