DI
क्या है और इसका उपयोग केस क्या है, जब हमारे पास ServiceManager
है?ज़ेंड डि बनाम सेवा प्रबंधक निर्भरता इंजेक्शन कंटेनर
वे दोनों zend-di
और zend-servicemanager
हम इस तरह के aliases
और invokables
के रूप में कुछ विकल्प सेट कर सकते के लिए विन्यास फाइल में के बाद से समान दिखाई देते हैं।
मैं इन घटकों के साथ दृश्यों के पीछे क्या हो रहा है, इसकी बेहतर समझ प्राप्त करने की कोशिश कर रहा हूं, और दस्तावेज ने मुझे पर्याप्त जानकारी नहीं दी।
क्या आप कृपया मुझे बता सकते हैं कि अंतर क्या है और जब मुझे ServiceManager
के बजाय उपयोग करना चाहिए?
पर सामान्य रूप में कंटेनर के बारे में एक अच्छा विचार-विमर्श नहीं है http://www.php-fig.org/psr/psr-11/meta/ – Dennis
आधुनिक सलाह "डी या एसएम का उपयोग न करें", जब तक वे पहले से ही आपके ढांचे का हिस्सा नहीं हैं। ज़ेंड फैक्ट्री-आधारित सेवा प्रबंधक (जो अनिवार्य रूप से प्रतिबंधित डी कंटेनर है) का उपयोग करता है, जहां आपको किसी भी कंटेनर को किसी भी कंटेनर में इंजेक्ट नहीं करना चाहिए, लेकिन आप अपने सेट अप के हिस्से के रूप में कंटेनर का उपयोग कर सकते हैं आवेदन। यानी ज़ेंड में आप अपनी निर्भरताओं को कैसे नियंत्रित कर सकते हैं अनुकूलित करने के लिए स्वयं ढांचे की सुविधाओं का उपयोग कर सकते हैं। कुछ हालिया उदाहरण यहां हैं: https://docs.zendframework.com/tutorials/getting-started/database-and-models/ – Dennis