2013-02-27 175 views
5

ज़ेंड फ्रेमवर्क 2 प्रोजेक्ट को नियंत्रित करने के संस्करण को कैसे प्रबंधित किया जाना चाहिए? क्या इसके लिए एक सर्वोत्तम अभ्यास/"मानक दृष्टिकोण" है? सही शब्द "सबमिशन" है?एक गिट संस्करणित परियोजना में Zend फ्रेमवर्क 2 को कैसे शामिल किया जा सकता है?

उत्तर

5

ए ज़ेंड फ्रेमवर्क 2 प्रोजेक्ट आमतौर पर विभिन्न स्थापित मॉड्यूल के साथ एक हल्के कंकाल अनुप्रयोग होता है, जो आम तौर पर अलग-अलग समर्पित भंडारों पर होते हैं।

मुख्य भंडार आमतौर पर कई परिवर्तनों से प्रभावित नहीं होता है, इसलिए आप इसके लिए एक गिट भंडार (ZendSkeletonApplication का कांटा) बना सकते हैं। जबकि मॉड्यूल अधिक प्रासंगिक हैं और कुछ देखभाल की आवश्यकता है, कंकाल आवेदन आमतौर पर महीनों में केवल कुछ विवरणों में ही बदलता है।

मैं दृष्टिकोण निम्नलिखित सुझाव कर सकते हैं:

  1. अपने कंकाल आवेदन कांटा के modules/ निर्देशिका में git submodules के रूप में, ऐप्लिकेशन-विशिष्ट मॉड्यूल के अपने पहले संस्करण बनाने।
  2. मूल भंडारों पर वापस लौटने और रूट भंडार में गिट सबमिशन संदर्भों को अद्यतन करके, सुझाए गए तरीके से मॉड्यूल पर काम करता है।
  3. एक बार आपके पास एक अच्छी तरह से काम करने वाला संस्करण है (और composer और सामान्य रूप से zf2 के साथ कुछ आत्मविश्वास है), तो आप composer.json फ़ाइल जोड़ कर उन्हें संगीतकार पैकेज में परिवर्तित कर सकते हैं।
  4. बदले गए जेएफ 2 मॉड्यूल और use composer to import it के गिट सबमिशन को हटाएं। ऐसा करने के लिए, आपको बस संगीतकार को बताने की आवश्यकता होगी जहां भंडार स्थित है। यह मॉड्यूल को आपके किसी भी एप्लिकेशन पर सेकंड में इंस्टॉल करने योग्य बना देगा, जिससे आप मौजूदा घटकों का पुन: उपयोग करने में मदद कर सकते हैं। अलग-अलग परियोजनाओं के लिए आपके द्वारा लिखे गए कोड का पुन: उपयोग करना अब से वास्तव में आसान हो जाता है।
  5. टैग और उत्तरोत्तर निर्भरता और अपने संकुल के संस्करणों को स्थिर (क्योंकि आप शुरू कर देंगे के लिए अपने स्वयं के private composer packages ecosystem)

इस तरह मैं व्यक्तिगत रूप से यह कर, और यह एक बहुत अच्छा विकास की प्रक्रिया में बदल गया है है। प्रत्येक बार एक सुविधा साझा की जाती है, मैं बस इसे एक नए पैकेज में ले जाता हूं और मॉड्यूल में composer.json अद्यतन करता हूं। Satis बाकी का ख्याल रखता है, और हमारे सभी लाइव सिस्टम अपग्रेड करने के लिए बहुत तेज़ हैं।

एक बार जब आप इससे परिचित हो जाएं तो आप कुछ और advanced techniques and tips and tricks about composer पढ़ना चाहेंगे।

+0

आपके उत्तर के लिए धन्यवाद! आप एक परियोजना में [फ्रेमवर्क फ़ोल्डर] (https://github.com/zendframework/zf2) कैसे शामिल करते हैं? वर्तमान में यह मेरे प्रोजेक्ट-रेपो में सिर्फ एक उपफोल्डर है। क्या यह एक सबमिशन होना चाहिए? – automatix

+0

@automatix फ्रेमवर्क संगीतकार के माध्यम से भी स्थापित किया गया है। यदि आपने कंकाल एप्लिकेशन को क्लोन किया है, तो यह सिर्फ 'php composer.phar install' चलाने का मामला है :) – Ocramius

+0

एचएम ... आप सही हैं। :) इस विरोधाभास के लिए आखिरी सवाल: यदि आगे की लाइब्रेरी जोड़ा गया है ('/ विक्रेता/'पर), तो इसे संगीतकार के साथ भी प्रबंधित किया जा सकता है, है ना? पुस्तकालयों का प्रबंधन करने के लिए अन्य संभावनाएं हैं? – automatix