मैं एक सेवा है जो UserManager फैली है, इसलिए जब मैं कार्य करें:इंजेक्षन SwiftMailer
Fatal error: Call to undefined method My\MyBundle\Service\ServiceClass::get()
मैं जानता हूँ कि यह क्योंकि मैं इंजेक्षन करने की जरूरत है:
$message = \Swift_Message::newInstance()
->setSubject('~')
->setFrom('~')
->setTo('~')
->setBody('~', 'text/html');
$this->get('mailer')->send($message);
मैं त्रुटि मिलती है यहां स्विफ्टमेलर, लेकिन कैसे? (आमतौर पर सेवा वर्ग 'जेनेरिक' बढ़ाता है इसलिए स्विफ्ट मेलर शामिल है।)
मैंने .yml फ़ाइल में सेवा जोड़ दी है, लेकिन मुझे यकीन नहीं है कि कक्षा के निर्माता में इसे कैसे कॉल किया जाए? –
बस कन्स्ट्रक्टर में पैरामीटर जोड़ें, जैसे 'सार्वजनिक फ़ंक्शन __construct ($ mailer)' और फिर उदा। इसे कन्स्ट्रक्टर बॉडी में एक निजी संपत्ति के लिए असाइन करें। –
एक डमी गाइड: उपरोक्त उत्तर के रूप में सेवा जोड़ें। फिर उपरोक्त टिप्पणी के रूप में निर्माता को जोड़ें। फिर कन्स्ट्रक्टर में '$ this-> मेलर = $ मेलर' जोड़ें। फिर आप इसका उपयोग कर सकते हैं: '$ this-> मेलर-> भेजें ($ संदेश);' –