Magento 2 के लिए Zend फ्रेमवर्क 2 का उपयोग करके Magento के डेवलपर्स क्यों नहीं हैं?


21

Magento के ज्यादातर Magend 2 के लिए मूल Zend फ्रेमवर्क (संस्करण 1) का उपयोग करना जारी रखेंगे (स्रोत: Magento 2 और Zend फ्रेमवर्क 2 )

यह देखते हुए कि कैसे Magento 2 वैसे भी Magento 1 के साथ पीछे की ओर संगत नहीं होगा, वे Zend फ्रेमवर्क 2 में अपग्रेड क्यों नहीं कर रहे हैं?

मैं एक आधिकारिक, तकनीकी जवाब की उम्मीद कर रहा हूं।


यह प्रश्न magento.stackexchange.com/questions/33259/… के समान 99% है । लेकिन खिचड़ी ने इसे डुप्लिकेट के रूप में सेट किया क्योंकि पिछले प्रश्नकर्ता ने @ मर्सियर उत्तर को स्वीकार नहीं किया था। हालांकि मैं इसका जवाब जानने के लिए उत्सुक हूं। आइए हम उस "WHY" :-)
राजीव के टॉमी

4
केवल एक कोर देव ही इसका सटीक उत्तर दे सकता है। चलिए @AntonKril को तलब करते हैं।
मेरियस

@ मार्स: हाँ यह प्रश्न एक बुनियादी संदेह है जो हमारे दिमाग में तब आएगा जब हम मैगेंटो 2 सीखना शुरू करेंगे (विशेषकर जो मैगेंटो 1 से परिचित है। *)। इसे गुप्त नहीं रखना चाहिए। बल्कि खुलासा होना चाहिए। आइए हम एक अधिकारी से इस सवाल का जवाब देने की उम्मीद करते हैं
राजीव के टॉमी

जवाबों:


32

बस ऊपर के महत्वपूर्ण भागों को दोहराने के लिए, Magento 2 अनुप्रयोगों को आधिकारिक Magento 2 APIs का उपयोग करना चाहिए, सीधे Zend नहीं। इस प्रकार डेवलपर्स को परवाह नहीं करनी चाहिए जो हम बनाते हैं।

मन की पूछताछ के लिए, Magento 2 विभिन्न रूपरेखाओं से बाहर बिट्स का उपयोग करता है। हम Zend 1 से डेटाबेस एक्सेस का उपयोग करते हैं। हमने डॉक्ट्रिन की ओर बढ़ते हुए जांच की, लेकिन यह Magento 2.0.0 रिलीज के लिए बहुत अधिक काम था। हालाँकि हम इसे 2.1, 2.2, 3.0, या ... (अभी तक कोई प्रतिबद्धता नहीं) में कर सकते हैं। जब हम इसे प्राप्त करते हैं, तो हम अपना दिमाग भी बदल सकते हैं कि क्या उपलब्ध सूचनाओं के आधार पर ZF1, ZF2, Doctrine आदि का उपयोग करना है या नहीं। Magento 2 में एक YML फ़ाइल भी हो सकती है (जिसका अर्थ है कि हम सिम्फनी के भाग का उपयोग करते हैं)। इंस्टॉलर के एक हिस्से ने ZF2 का कुछ उपयोग किया (क्या हमें ZF1 पर एक नया ऐप विकसित करना चाहिए?), लेकिन यह बदल सकता है। हमने एंगुलर का एक छोटा हिस्सा भी देखा जो संभवतः जावास्क्रिप्ट में MV * के लिए दिलचस्प लग रहा था।

लेकिन जैसे ही आप देख रहे हैं कि मैगेंटो ढांचे के तहत क्या है, तो आप शायद गलत काम कर रहे हैं। आपके एप्लिकेशन कोड की परवाह नहीं की जानी चाहिए। आपको Magento के ढांचे द्वारा प्रदान किए गए "आधिकारिक" एपीआई का उपयोग करना चाहिए ताकि हम मौजूदा ग्राहक साइटों या एक्सटेंशन को प्रभावित किए बिना आंतरिक बदल सकें। "आधिकारिक" द्वारा, हम दस्तावेज़ों में जा रहे हैं जो एपीआई "समर्थित" एपीआई हैं (अभी तक बहुत अच्छी तरह से नहीं किया गया है) - उन्नयन को अधिक विश्वसनीय बनाने के लिए, हम इन एपीआई को यथासंभव स्थिर रखने जा रहे हैं, लेकिन अंतर्निहित कोड में परिवर्तन करें प्रदर्शन में सुधार के लिए आधार आदि।

नोट: मैं इस क्षेत्र में बहुत बार नहीं देखता हूं - मैगेंटो 2 प्रश्न GitHub मुद्दे पर नजर रखने वाले हैं। हम वर्तमान में उन सभी को वहां रखने की कोशिश कर रहे हैं।


1
क्या हमारे कोड में Zend कक्षाओं का उपयोग करना गलत है? मैंने देखा कि Magento टेम्पलेट फ़ाइलों में कुछ Zend स्थैतिक कार्यों को कॉल करता है <?php echo \Zend_Json::encode($block->getCheckoutConfig()); ?>
ज़्वॉनिमिर ब्यूरिक

1
हां, @ ZvonimirBurić, आपको \Magento\Framework\Json\DecoderInterfaceइसके बजाय उपयोग करना चाहिए । या json_encode/ json_decodeसीधे।
नेवरमाइंड

सत्यापनकर्ताओं के बारे में क्या? ऐसा लगता है कि Zend_Validation के Magento के बराबर नहीं हैं
एंटोनियो Pedicini

10

सवाल कई बार पूछा गया था। यह सभी निवेश पर लौटने के लिए उबलता है। माइग्रेट करने के लिए यह बहुत बड़ा प्रयास है, मूल्य इतना अधिक नहीं है और मैगेंटो, क्योंकि यह वितरण में एक पुस्तकालय के रूप में जेडएफ 1 शामिल है, बस इस पुस्तकालय की जिम्मेदारी लेता है, जिसमें मुद्दों के लिए पैच आदि शामिल हैं।


2
उत्तर के लिए धन्यवाद Piotr। क्या आपको पता है कि ZF1 अभी भी Zend द्वारा समर्थित है? मुझे एक (संभवतः पुराना) FAQ मिला (यहां: फ्रेमवर्क .zend.com / about/ faq ) जिसमें कहा गया है: "हम वर्तमान में रखरखाव और सुरक्षा अपडेट सहित कम से कम 2014 तक Zend फ्रेमवर्क 1 का पूरी तरह से समर्थन करने की योजना बना रहे हैं।"

3
@ मार्सरी: अगले 2,3 दशकों (उम्मीद) के लिए मैजेंटो 2 शासन करने जा रही है। उस मामले में, जैसा कि टॉम ने कहा, अगर ZF1 का समर्थन समाप्त हो गया है, तो आप Magento 2 के भविष्य के बारे में क्या सोचेंगे। आउट-डेटेड आधार रखना काफी अच्छा है? कौन जानता है !
राजीव के टॉमी

5
PHP की उनकी हैंडलिंग के आधार पर, मुझे अनुमान है कि Magento की अपनी रिलीज़ के साथ बेहद रूढ़िवादी होने की नीति है। उन्हें PHP के सबसे पुराने स्थिर रिलीज की आवश्यकता है जो अभी भी सुरक्षा अपडेट प्राप्त कर रहा है। जब तक PHP ने अंत में जीवन की घोषणा नहीं की, तब तक उन्हें 5.3 की आवश्यकता थी। अगर मुझे अनुमान लगाना था, तो मैं सोच सकता हूं कि जेडएफ के लिए उनका दृष्टिकोण समान है: सबसे पुराना और सबसे स्थिर संस्करण का उपयोग करने के लिए जिसका अभी भी समर्थन है। मेरे लिए सवाल, programmer_rkt टिप्पणियों के रूप में, जब ZF 1 एक 2.x रिलीज़ में भी जीवन के अंत तक पहुँच जाएगा या वे ZF1 खुद को w / o Zend और ZF1 समुदाय बनाए रखेंगे, तो Magento ZF2 में बदल जाएगा।

3
यह सही जवाब है। :-)
बार्डमार्क

2
मुझे नहीं पता कि हम पुनर्विचार करेंगे, मुझे नहीं पता कि हम नहीं करेंगे। यदि ZF2 पर नहीं होने का प्रभाव मजबूत था जो चीजों को प्रभावित कर सकता है, लेकिन मुझे संदेह है कि मामला होगा। ध्यान रखें कि मैं उत्पाद टीम का हिस्सा नहीं हूं , इसलिए यह सिर्फ मेरी राय है।
benmarks

2

उसी कारण से उन्होंने Magento 1 के लिए jQuery के बजाय Prototyp.js का उपयोग किया।

ऐसा लगता है कि ZF1 लगभग दो बार तेज है तो ZF2। यहा जांचिये

मुद्दा यह है कि ZF1 इस वर्ष के रूप में अब तक (जहाँ तक मुझे पता है) समर्थित नहीं है। मैं व्यक्तिगत रूप से ZF2 के साथ जाऊंगा। मुझे यकीन है कि वे जल्द ही इसे कुछ समय के लिए अनुकूलित करेंगे।


1
मैंने पढ़ा है कि jquery एक बच्चा था जब magento 1 जारी किया गया था और प्रोटोटाइप। js वहाँ से अच्छी तरह से स्थापित जावास्क्रिप्ट उपकरण था। मैगेंटो जैसी बड़ी मछली के लिए, एक गैर-स्थापित उपकरण पर निर्भर है जैसे कि jquery (उस समय) बॉक्स से बाहर है
राजीव के टॉमी

जवाब के लिए धन्यवाद। क्या आप थोड़ा विस्तार कर सकते हैं?

1
खैर, ऐसा लगता है कि ZF1 के बारे में दो बार तेजी से तो ZF2 है। यहाँ देखें: developerknowhow.com/zf1-vs-zf2 मुद्दा यह है कि ZF1 इस वर्ष के अनुसार अब तक (जहाँ तक मुझे पता है) समर्थित नहीं है। मैं व्यक्तिगत रूप से ZF2 के साथ जाऊंगा। मुझे यकीन है कि वे जल्द ही इसे कुछ समय के लिए अनुकूलित करेंगे।
रज़वान

मुझे यकीन नहीं है कि अगर मैगेंटो ने अपने निष्पादन की गति के कारण Zend फ्रेमवर्क को चुना। यह तेज होने के लिए बिल्कुल ज्ञात नहीं है।

मैंने कुछ शोध किया और पाया कि ZF1 का नवीनतम संस्करण 8 दिन पहले जारी किया गया था। Framework.zend.com/downloads/archives ऐसा लगता है कि यह अभी भी बहुत समर्थित है।

1

Magento 2 Zend फ्रेमवर्क 1 के साथ-साथ Zend फ्रेमवर्क 2 का भी उपयोग कर रहा है। कृपया Magento 2 में राफेल ज़ेंड घटकों द्वारा निम्नलिखित उत्तर देखें

ज़ेंड फ्रेमवर्क 1 लाइफ ऑफ़ एंड 28 सितंबर 2016 है । आधिकारिक स्टेटमेंट रिलीज़ ज़ेंड फ्रेमवर्क 1 एंड-ऑफ़-लाइफ अनाउंसमेंट देखें

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