Magento के bin/magento
निष्पादन योग्य सिर्फ एक सिम्फनी कंसोल घटक है। इसका मतलब है कि आप एकल कमांड के लिए अलग-अलग फ़ाइल को फिर से लिख सकते हैं। नामकरण हमेशा सेटअप के लिए समान है: di: संकलन आप DiCompileCommand.php ( setup/src/Magento/Setup/Console/Command/DiCompileCommand.php
) पा सकते हैं ।
यह हमेशा चलेगा exeucte()
विधि को ताकि हमें देखने की आवश्यकता हो। इस फ़ंक्शन में, आप देखेंगे कि एक $operations
var सेट है, जो getOperationsConfiguration()
विधि द्वारा भरा गया है । यह विधि मूल रूप से DiCompileCommand को संकलन करने के लिए बताती है।
मैंने जो पहली कोशिश की, वह सिर्फ एप्लीकेशन कोड जनरेटर का हिस्सा है, जैसे कि;
private function getOperationsConfiguration(
array $compiledPathsList
) {
$excludePatterns = [];
foreach ($this->excludedPathsList as $excludedPaths) {
$excludePatterns = array_merge($excludedPaths, $excludePatterns);
}
return [
OperationFactory::APPLICATION_CODE_GENERATOR => [
'paths' => [
$compiledPathsList['application'],
$compiledPathsList['library'],
$compiledPathsList['generated_helpers'],
],
'filePatterns' => ['php' => '/\.php$/'],
'excludePatterns' => $excludePatterns,
]
];
}
यह बहुत अच्छी तरह से चला गया, संकलन समय नाटकीय रूप से कट गया;
Compilation was started.
Application code generator... 1/1 [============================] 100% 45 secs 308.8 MiB
Generated code and dependency injection configuration successfully.
विरोध के रूप में;
Compilation was started.
Interception cache generation... 7/7 [============================] 100% 3 mins 377.0 MiBB8 MiB
Generated code and dependency injection configuration successfully.
बेशक, यह उम्मीद की जानी थी क्योंकि हमने कई चीजों को काट दिया। लेकिन आपने निर्दिष्ट नहीं किया सी फाइलें उत्पन्न करना चाहते हैं। प्रति-मॉड्यूल के आधार पर सभी फ़ाइलों को उत्पन्न नहीं किया जा सकता है, उदाहरण के लिए, इंटरसेप्शन कक्षाएं कई मॉड्यूलों पर निर्भर हो सकती हैं और इसलिए यदि आप केवल एक मॉड्यूल के लिए इसे चलाते हैं तो आपको कार्यक्षमता का सीमित उत्पादन मिलेगा।
आप जिम्मेदार जनरेटर यहां पा सकते हैं;
सेटअप / src / Magento / सेटअप / मॉड्यूल / डि / ऐप्स / टास्क / ऑपरेशन /
प्रत्येक वर्ग में एक फ़ॉरचेक होता है, जो आपको कुछ मॉड्यूल / रास्तों को छोड़ने के लिए जारी रखने के साथ एक / / जोड़ने की अनुमति देगा। हो सकता है कि कमांड में तर्कों को फीड करने के तरीके पर सिम्फनी कंसोल कंपोनेंट इनपुट तर्क प्रलेखन की जांच करना उपयोगी होगा ।