मैं इस तरह कोड को देखा है:स्कोप के लिए PHP उपयोग() फ़ंक्शन?
function($cfg) use ($connections) {}
लेकिन php.net प्रतीत नहीं होता है कि समारोह का उल्लेख। मुझे लगता है कि यह गुंजाइश से संबंधित है, लेकिन कैसे?
मैं इस तरह कोड को देखा है:स्कोप के लिए PHP उपयोग() फ़ंक्शन?
function($cfg) use ($connections) {}
लेकिन php.net प्रतीत नहीं होता है कि समारोह का उल्लेख। मुझे लगता है कि यह गुंजाइश से संबंधित है, लेकिन कैसे?
use
कोई फ़ंक्शन नहीं है, यह Closure syntax का हिस्सा है। यह बस बंद होने के अंदर उपलब्ध बाहरी दायरे के निर्दिष्ट चर बनाता है।
$foo = 42;
$bar = function() {
// can't access $foo in here
echo $foo; // undefined variable
};
$baz = function() use ($foo) {
// $foo is made available in here by use()
echo $foo; // 42
}
उदाहरण के लिए
:
$array = array('foo', 'bar', 'baz');
$prefix = uniqid();
$array = array_map(function ($elem) use ($prefix) {
return $prefix . $elem;
}, $array);
// $array = array('4b3403665fea6foo', '4b3403665fea6bar', '4b3403665fea6baz');
यह अपने दायरे में उपलब्ध $connections
(एक माता पिता चर) बनाने के लिए गुमनाम समारोह कह रहा है।
इसके बिना, $connections
फ़ंक्शन के अंदर परिभाषित नहीं किया जाएगा।
यह ध्यान देने योग्य है कि '$ connections' नहीं होगा' null'; यह एक अपरिभाषित चर होगा यदि इसे 'उपयोग ($ कनेक्शन)' के साथ अज्ञात फ़ंक्शन के दायरे में स्पष्ट रूप से आयात नहीं किया गया था। –
@IanGustafson धन्यवाद, मैं जवाब अपडेट कर दूंगा। – alex