Magento संस्करण पर आधारित संगीतकार के माध्यम से स्थापित करने के लिए कौन सी फ़ाइल चुनें


11

किसी कंपोजर मॉड्यूल में कोड के कई संस्करणों को शामिल करना और इंस्टॉलेशन लक्ष्य के Magento संस्करण के आधार पर संगीतकार को काम करने के लिए कौन सा संस्करण काम करना है, यह बहुत सुविधाजनक होगा।

उदाहरण के लिए, Magento> 1.7 के लिए, system.xml का उपयोग करें, जिसमें tooltipनेस्टेड groupऔर अन्य आधुनिक सुविधाएँ शामिल हैं , लेकिन Magento के पुराने संस्करणों के लिए, फ़ाइल के एक स्ट्रिप-डाउन संस्करण का उपयोग करें, जिसमें वे (ब्रेकिंग) घोषणाएँ शामिल नहीं हैं।

यह दृष्टिकोण एक मानक मॉड्यूल संरचना में कई अन्य फ़ाइलों के लिए भी काम कर सकता है।

संगीतकार तैनाती के लिए विकल्प हैं map, modmanया package.xmlAFAIK, जिनमें से किसी के पास लक्ष्य प्रणाली के बारे में कोई खुफिया जानकारी नहीं है। package.xmlविकल्प बहुत परिवर्तन की संभावना नहीं है, लेकिन mapकर सकते थे ...

यह मुझे लगता है कि बहुत सारे विस्तार डेवलपर्स होंगे जो सुशोभित गिरावट दृष्टिकोण से लाभान्वित होंगे। क्या किसी ने इसके लिए कोई काम ढूंढ लिया है?

जवाबों:


8

मेरे पास वर्कअराउंड नहीं है और यह मेरे लिए अभी तक एक मुद्दा नहीं था, लेकिन मेरे पास एक प्रस्ताव है जो काम कर सकता है:

  1. आपको विभिन्न Magento संस्करणों को लक्षित करने के लिए अलग-अलग संस्करण शाखाएं बनाए रखने की आवश्यकता है। कुछ संगीतकार जादू के आधार पर एक ही संस्करण में विभिन्न फ़ाइलों को नियुक्त करने से अच्छा काम नहीं होने वाला है। तो आपकी विलोपन 1.xपुराने Magento संस्करणों के साथ संगतता के लिए एक शाखा हो सकती है (उदाहरण के लिए 1.6 तक) और 2.xअधिक आधुनिक संस्करणों के लिए एक शाखा। तदनुसार संस्करण टैग जोड़ें। निश्चित रूप से आप जितनी चाहें उतनी शाखाएँ बना सकते हैं और प्रत्येक Magento संस्करण के लिए सर्वश्रेष्ठ कोड लिख सकते हैं लेकिन IMHO यह प्रयास के लायक नहीं है और एक "आधुनिक" और एक "विरासत" शाखा को पर्याप्त होना चाहिए। यह आपके ऊपर है, कि आप "आधुनिक" शाखा के साथ कितना पीछे होना चाहते हैं, यह केवल नवीनतम लघु संस्करण भी हो सकता है।
  2. इस तरह Magento के लिए एक आवश्यकता जोड़ें:

    "require": {
        "magento/magento-ce": "1.4-1.7"
    }

    तथा

    "require": {
        "magento/magento-ce": ">=1.8"
    }
  3. अब नीचे की तरफ आता है, जिस हिस्से पर आपका पूरा प्रभाव नहीं है: कोई आधिकारिक magento/magento-ceपैकेज नहीं है, इसलिए आपके एक्सटेंशन के उपयोगकर्ता संभवतः समुदाय प्रबंधित दर्पण से https://github.com/firegento/magento जैसे दर्पण को इंस्टॉल करेंगे -सी या अपने स्वयं के भंडार से। इन्हें एक ही संस्करण के "वर्चुअल" पैकेज को बदलना होगा magento/magento-ce(एक प्लेसहोल्डर सेल्फ.वर्जन है , ताकि आपको प्रत्येक वर्जन अपडेट के लिए कंपोजर.जॉन को एडजस्ट करने की आवश्यकता न हो):

    "replace": {
        "magento/magento-ce": "self.version"
    }

यह तभी अच्छी तरह से काम करेगा जब ऊपर का सम्मेलन व्यापक रूप से स्वीकार किया जाता है और केवल उन उपयोगकर्ताओं के लिए जो वास्तव में संगीतकार निर्भरता के माध्यम से मैगेंटो को स्थापित करते हैं, जो शायद बहुमत नहीं है।

इसलिए एक अधिक यथार्थवादी दृष्टिकोण केवल चरण 1 का पालन करना है और अपने उपयोगकर्ताओं को एक अलग शाखा / अलग-अलग प्रमुख संस्करण की आवश्यकता है, अगर वे 1.x से अधिक पुराने Magento संस्करण चलाते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.