संगीतकार, PHP परियोजनाओं में निर्भरता स्थापित करने के लिए एक प्रशासक

कुछ दिनों पहले कंपोज़र 2.0 के नए संस्करण की रिलीज़ की घोषणा की गई, जो PHP परियोजनाओं में निर्भरता स्थापित करने के लिए एक प्रबंधक है।

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

इंस्टालेशन के लिए उपलब्ध लाइब्रेरीज़ पैकैगिस्ट रिपॉजिटरी में हैं, जिसमें 287 हजार से अधिक पैकेज हैं।

संगीतकार के बारे में

कंपोज़र को एक निर्भरता संस्थापन प्रणाली के रूप में तैनात किया गया है एनपीएम और बंडलर पैकेज प्रबंधकों के साथ डिज़ाइन किया गया Node.js और रूबी समुदायों को ध्यान में रखते हुए।

प्रणाली विशिष्ट परियोजनाओं के संबंध में पैकेज संचालित करता है और इसे स्थानीय प्रोजेक्ट निर्देशिकाओं में निर्भरता स्थापित करने के लिए डिज़ाइन किया गया है (एक विकल्प के रूप में, एक सिस्टम-वाइड वैश्विक इंस्टॉलेशन मोड भी है)।

डिफ़ॉल्ट रूप से, स्थिर पुस्तकालयों को स्थापित करने का सुझाव दिया जाता है, लेकिन प्रयोगात्मक (अल्फा/बीटा) और स्नैपशॉट अपडेट (विकास कोडबेस के स्नैपशॉट) का उपयोग करना भी संभव है, जो निरंतर एकीकरण प्रणालियों में परीक्षण निर्माण के लिए उपयोगी होते हैं।

कंपोज़र कोड PHP में लिखा जाता है और MIT लाइसेंस के तहत वितरित किया जाता है।

कंपोज़र 2.0 के नए संस्करण के बारे में

नए संस्करण में प्रमुख प्रदर्शन अनुकूलन किए गए हैं और मेमोरी की खपत कम हो गई है. packagist.org को कॉल करने के प्रोटोकॉल से लेकर बहुत सारे कार्य किए गए हैं निर्भरता निर्धारित करने के तरीकों के लिए।

साथ ही, कई मेटा स्ट्रीम और ज़िप फ़ाइलों में अपलोडिंग प्रदान की जाती है समानांतर पैकेज स्थापना मोड लागू किया गया है. गणना के लिए कोड में अनुकूलन जोड़ा गया। केवल पैकेज मेटाडेटा लोड करके, आवश्यकता और/या हटाने के संचालन और आंशिक अपडेट में काफी तेजी आती है। कुछ परियोजनाओं में 50% तक की तेजी देखी गई है।

निर्भरताओं को अद्यतन करने के तंत्र पर फिर से काम किया गया है, जो स्थानीय फ़ाइल सिस्टम पर निर्देशिका की स्थिति के लिए बाइंडिंग से मुक्त है। अद्यतन पूरा करने के बाद, इंस्टॉलेशन प्रक्रिया अब नेटवर्क एक्सेस की आवश्यकता वाले सभी कार्यों के प्रारंभिक निष्पादन के साथ स्वचालित रूप से शुरू हो जाती है।

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

डिफ़ॉल्ट रूप से, एक अतिरिक्त प्लेटफ़ॉर्म सत्यापन चरण जोड़ा गया है विक्रेता/autoload.php को प्रारंभ करते समय रनटाइम पर, जो जांचें कि PHP और एक्सटेंशन का संस्करण प्रयुक्त निर्भरता में समर्थित संस्करणों से मेल खाता है। यदि कोई विसंगति है, तो एक त्रुटि प्रदर्शित होती है।

सत्यापन नए Composer\InstalledVersions क्लास का उपयोग करके किया जाता है, जिसे प्रत्येक प्रोजेक्ट के लिए लोड किया जाता है ताकि यह निर्धारित किया जा सके कि प्रोजेक्ट में कौन से पैकेज और संस्करण उपलब्ध हैं।

साथ ही, यह भी उल्लेख किया गया है कि निर्भरता का पता लगाने के मुद्दों से संबंधित त्रुटि संदेशों को फिर से तैयार किया गया है। ये संदेश छोटे, स्पष्ट और कम डुप्लिकेट वाले हैं।

अद्यतन के दौरान संस्करणों को अस्थायी रूप से सीमित करने के लिए, "संगीतकार अद्यतन विक्रेता/पैकेज: 1.0" का उपयोग करें। *", जो "composer.json" में ब्लॉक की सामग्री को नहीं बदलेगा और अवरुद्ध फ़ाइल को अप्रचलित के रूप में चिह्नित नहीं करेगा।

अन्य परिवर्तनों में से जो इस नए संस्करण में हैं:

  • समय सीमा के साथ आंशिक अपडेट के लिए समर्थन जोड़ा गया, जिसका उपयोग तब किया जा सकता है जब आपको बग फिक्स का परीक्षण करने या प्रतीक्षा करने के लिए किसी पैकेज के संस्करण को अस्थायी रूप से अपडेट करने या वापस रोल करने की आवश्यकता होती है। जिन पैकेजों की अब आवश्यकता नहीं है, उन्हें स्वचालित रूप से हटाने की व्यवस्था लागू कर दी गई है।
  • रिपॉजिटरी में केवल नए, बहिष्कृत और विहित विकल्प जोड़े गए हैं।
  • संचालन, निष्पादन, प्री पूल निर्माण और पोस्ट फ़ाइल डाउनलोड से पहले नए ईवेंट जोड़े गए।
  • बड़ी संख्या में नए झंडे जोड़े गए हैं।

अंत में, यदि आप इस नए संस्करण के बारे में अधिक जानने में रुचि रखते हैं, तो आप विवरण देख सकते हैं निम्नलिखित लिंक में

दूसरी ओर, यदि आप दस्तावेज़ीकरण से परामर्श करना चाहते हैं, तो आप ऐसा कर सकते हैं इस लिंक से


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।