के साथ संभावित परिपत्र निर्भरता समस्या मुझे लगता है कि मुझे लगता है कि मेरे PHP अनुप्रयोग के साथ एक परिपत्र निर्भरता समस्या है। अगर यह गलत है तो कृपया मुझे बताएं।PHP अनुप्रयोग
दो कक्षाएं, LogManager और DBSession: यहाँ स्थिति है।
DBSession डेटाबेस के साथ बातचीत करने के लिए इस्तेमाल किया जाता है, और LogManager फ़ाइलों के लिए लॉग इन करने के लिए किया जाता है। दोनों मेरे आवेदन में व्यापक रूप से उपयोग किया जाता है। जब आप डीबीएसशन का उदाहरण बनाते हैं, तो आपको इसे एक निर्माता पैरामीटर के माध्यम से LogManager का एक उदाहरण देना होगा। ऐसा इसलिए क्योंकि DBSession कभी-कभी फ़ाइल में जानकारी लॉग करेगा, और ऐसा करने के लिए LogManager इंस्टेंस का उपयोग करेगा।
अब, मैं LogManager विस्तार करने के लिए इतना है कि यह भी नहीं बल्कि एक पाठ फ़ाइल से, एक डेटाबेस तालिका करने के लिए लॉग इन कर चाहता था। स्वाभाविक रूप से, मेरी प्राथमिकता मौजूदा वर्गों का पुन: उपयोग करना है, लेकिन मुझे जल्द ही एहसास हुआ कि यह एक दिलचस्प स्थिति लाया है।
डीबीएसशन को पहले से ही निर्माण के लिए लॉगमैनेजर का एक उदाहरण चाहिए। अगर मैं LogManager में डीबीएसशन कक्षा का पुनः उपयोग करना चाहता हूं, तो अब उसे डीबीएसशन के उदाहरण की आवश्यकता होगी। मैं दोनों मांगों को कैसे पूरा कर सकता हूं? जाहिर है, मेरे दृष्टिकोण के साथ कुछ गलत होना चाहिए।
आप कैसे सुझाव देंगे कि मैं इसे ठीक करूँ?
अग्रिम धन्यवाद, दोस्तों।
$ logManager = new LogManager(); $ dbSession = नया डीबीएसशन ($ logManager); $ logManager-> जोड़ें (नया फ़ाइल लॉग ($ फ़ाइल नाम)); $ logManager-> जोड़ें (नया डीबीएलओजी ($ डीबीएसशन)); – micahwittman
यह कक्षा के नामों में संगत नहीं है .. –
@ ओवेन: संपादन के लिए धन्यवाद! –