मैं एक फ़ंक्शन में चर पास करना चाहता हूं लेकिन एक त्रुटि प्राप्त करना चाहता हूं:

कार्य उदाहरण:

$text_line1 = function (TextToImage $handler) {
    $line_first ="Vasim";
    $handler->add($line_first)
            ->position(250, 100)
            ->font(24, __DIR__ . '/Roboto-Black.ttf')
            ->color(0, 0, 0);
};

काम नहीं कर :

$line_second = $imageMeta[2];
$text_line2 = function (TextToImage $handler) {

    $handler->add($line_second)
            ->position(250, 150)
            ->font(20, __DIR__ . '/Roboto-Black.ttf')
            ->color(0, 0, 0);
};
-1
Vasim Shaikh 26 जिंदा 2021, 22:49

2 जवाब

सबसे बढ़िया उत्तर

आप जो खोज रहे हैं वह "USE" कीवर्ड है (अनाम कार्यों के लिए, जैसा कि आप अपने दूसरे उदाहरण में उपयोग कर रहे हैं)। यह माता-पिता के दायरे से अतिरिक्त चर को बंद करने की अनुमति देता है। इसका उपयोग थोड़ा मुश्किल हो सकता है, देखें आधिकारिक PHP अनाम फ़ंक्शन दस्तावेज़ अधिक जानकारी के लिए (विशेष रूप से, उदाहरण #3 देखें)।

$line_second = $imageMeta[2];
$text_line2 = function (TextToImage $handler) use ($line_second) {

    $handler->add($line_second)
            ->position(250, 150)
            ->font(20, __DIR__ . '/Roboto-Black.ttf')
            ->color(0, 0, 0);
};
1
Blake Ottinger 26 जिंदा 2021, 23:08

यदि यह एक वर्ग है तो this कीवर्ड जोड़कर वेरिएबल को एक्सेस करें। यदि एक सामान्य कार्य है और एक वैश्विक चर का उपयोग करने के लिए इसके सामने global जोड़ें।

-1
Iftekhar 26 जिंदा 2021, 22:54