Magento 2 में कई श्रेणी की फाइलें होती हैं जो या तो पूर्व-निर्मित होती हैं, या मक्खी पर उत्पन्न होती हैं। में रहते हैं
var/generated
इन उत्पन्न फ़ाइलों में फ़ैक्टरी कक्षाएं शामिल हैं। से प्रलेखन , यह मेरी समझ है कि एक प्रोग्रामर इन्स्तांत "गैर इंजेक्शन" वस्तुओं के लिए कारखाने कक्षाओं का उपयोग करता है। एक "गैर-इंजेक्शन योग्य" वस्तु एक ऐसी वस्तु है जिसे निर्भरता इंजेक्शन के माध्यम से नहीं जोड़ा जा सकता है __constructor
, आमतौर पर क्योंकि इसके लिए उपयोगकर्ता इनपुट की आवश्यकता होती है।
प्रलेखन से स्पष्ट नहीं है कि कैसे Magento 2 जानता है कि यह एक कारखाना वर्ग उत्पन्न करने की आवश्यकता है। यह बिट
यदि रन-टाइम मोड या कंपाइलर में ऑब्जेक्ट मैनेजर द्वारा गैर-मौजूद फैक्ट्री का सामना किया जाता है, तो ऑब्जेक्ट मैनेजर फैक्ट्री उत्पन्न करता है।
अगर मैं ऑब्जेक्ट मैनेजर में फैक्ट्री क्लास (या, विस्तार से, निर्भरता इंजेक्शन __constructors में) का उपयोग करता हूं, तो यह आवाज़ करता है कि मैगेंटो 2 मेरे लिए इसे उत्पन्न करेगा। लेकिन वस्तु प्रबंधक कैसे जानता है कि मैं जिस चीज का अनुरोध कर रहा हूं वह एक कारखाना है?
इसके अलावा, सभी उत्पन्न वर्गों को स्वचालित रूप से उत्पन्न (या "संकलन") करने के लिए दो कमांड प्रतीत होते हैं। इनमें से किसी भी आदेश को चलाने से बड़ी संख्या में फ़ैक्टरी वर्ग उत्पन्न होते हैं। क्या विन्यास और / या कोड फाइलें आवश्यक कमांड ऑब्जेक्ट बनाने के लिए इन कमांडों को देख रही हैं?
मुझे पता है कि ऑब्जेक्ट मैनेजर और / या कमांड कोड को नीचे ले जाने से यह सब पता चल जाएगा, लेकिन मैं उस लंबी और कठिन यात्रा से बचने की उम्मीद कर रहा हूं।