AutoLoad स्थानीय पैकेज संगीतकार का उपयोग कर (हर बार जब आप बदल packagist के लिए जा रहा बिना)।
, ऐसा करने के लिए कई तरीके हैं मैं उनमें से 2 को कवर किया जाएगा:
सभी मामलों में हम 2 मुख्य पार्टियों है:
- स्थानीय पैकेज (कोड है कि हम नहीं हमारे प्रोजेक्ट संगीतकार में इसे स्वत: लोड करने में सक्षम होने के लिए पैकेजिस्ट पर प्रकाशित करना चाहते हैं)।
- मुख्य परियोजना (कोड कोड जो स्थानीय पैकेज कोड का उपयोग करने की आवश्यकता है, एक और पैकेज और कोई प्रोजेक्ट हो सकता है)।
Methode 1: (प्रत्यक्ष नाम स्थान)
ओपन मुख्य परियोजना composer.json
फ़ाइल और autoload किसी भी विधि का उपयोग कर स्थानीय पैकेज नेमस्पेस (PSR-4, PSR-0, ...)।
उदाहरण:
संगीतकार में यदि।स्थानीय पैकेज के json हमने:
"autoload": {
"psr-4": {
“Local\\Pack\\": "library"
}
},
"autoload-dev": {
"psr-4": {
"Local\\Pack\\Tests\\": "tests"
}
},
तो मुख्य परियोजना के composer.json में हम होना चाहिए:
"autoload": {
"psr-4": {
"Mahmoudz\\Project\\": "src",
"Local\\Pack\\": "../path/to/local/pack/library” << referencing the other local package
}
},
"autoload-dev": {
"psr-4": {
"Mahmoudz\\Project\\Tests\\": "tests"
}
},
लाभ:
- आप विक्रेता टच नहीं है निर्देशिका (गलती से संगीतकार अद्यतन चल रहा है अपने स्थानीय परिवर्तन पर हावी नहीं होगा)
- आप अपने पैकेज की जरूरत नहीं है यह
उपयोग करने के लिए packagist पर होने के लिए - आप एक ही स्थान (स्थानीय packa में काम जीई) और परिवर्तन स्वचालित रूप से मुख्य परियोजना में लोड किए गए हैं
नुकसान:
- आप उत्पादन (जरूरतों असली पैकेज की आवश्यकता होती है) प्रकाशित करने से पहले संपादन पर composer.json प्रकाशित नहीं कर सकते
Methode 2: (स्थानीय भंडार)
स्थानीय भंडार से स्थानीय पैकेज डाउनलोड करें।
स्थानीय पैकेज:
1. पैकेज में इनिशियलाइज़ Git (आप इसका इस्तेमाल नहीं करना चाहते हैं, भले ही - कोई जरूरत नहीं कुछ भी प्रतिबद्ध करने के लिए)
2. ऐड composer.json फ़ाइल। फ़ाइल में निम्न सुनिश्चित करें कि आपके:
"name": “vendor-name/package-name",
"autoload": { … // use whichever method you prefer, but make sure it’s being loaded correctly
"minimum-stability": “dev"
composer dump-autoload
मुख्य परियोजना:
1. संपादित अपने composer.json को रोकने के लिए निम्नलिखित:
"repositories": [
{
"type": "vcs",
"url": “/full/path/to/the/local/package/package-name"
}
],
"require": {
"vendor-name/package-name": "dev-master"
},
- संगीतकार अद्यतन विक्रेता-नाम/पैकेज नाम
- अब अपनी विक्रेता निर्देशिका की जाँच आप विक्रेता-नाम/पैकेज नाम देखना चाहिए
नोट: जब भी आप स्थानीय पैकेज (नहीं विक्रेता) में परिवर्तन कर उस Git करने के लिए तो आप कर सकते हैं के लिए प्रतिबद्ध संगीतकार अद्यतन की जरूरत है मुख्य परियोजना, इसे मुख्य परियोजना विक्रेता निर्देशिका में रेपो की नवीनतम प्रति प्राप्त होगी।
लाभ:
- आप (गलती से चल संगीतकार अद्यतन आपकी स्थानीय परिवर्तन पर हावी नहीं होगा) विक्रेता निर्देशिका टच न करें - आप अपने पैकेज की जरूरत नहीं है packagist पर होने की यह
उपयोग करने के लिए नुकसान:
- आपको अपने परिवर्तन (स्थानीय पैकेज में) और फिर मुख्य प्रोजेक्ट
में संगीतकार अद्यतन चलाना है - आप उत्पादन पर composer.json प्रकाशित नहीं कर सकते हैं (वास्तविक पैकेज की आवश्यकता के लिए प्रकाशन से पहले संपादन की आवश्यकता है)
ठीक है, जब मैं वीसीएस में बदलता हूं, तो मुझे यह संदेश मिलता है: [रनटाइम अपवाद] निर्देशिका मौजूद नहीं है:/d/workspaces/use – Banana
एर, संभवतः निर्देशिका मौजूद नहीं है, या पहुंच योग्य नहीं है? – Danack
मुझे लगता है कि निर्देशिका सिर्फ गलत वर्तनी है। क्या आप वाकई इसे '/ d/workspaces/util' के रूप में प्रदान करना है, न कि' d:/workspaces/util' के रूप में? –