В Magento 2 (любая стабильная версия) вы можете запустить эту команду, bin/magento info:dependencies:show-modules
и вы получите CSV-файл в корне вашего приложения, который называется modules-dependencies.csv
со всеми зависимостями модуля, который выглядит следующим образом:
Что такое жесткая зависимость и что такое мягкая зависимость? Пример каждого поможет.
magento2
module
dependency
Мариус
источник
источник
Ответы:
Существует три различных анализатора зависимостей (реализации
Magento\Setup\Module\Dependency\ParserInterface
):Единственный, который делает различие между жесткими и мягкими зависимостями, это парсер компоновщика (см .: Magento \ Setup \ Module \ Dependency \ Parser \ Composer \ Json :: extractDependencies () )
Мягкая зависимость представляет собой пакет, перечисленный в «предложить», в жесткой зависимости пакет в «требует».
Тип зависимости по умолчанию - жесткий , это означает, что зависимости, найденные другими анализаторами, всегда являются жесткими (см. Magento \ Setup \ Module \ Dependency \ Report \ Dependency \ Data \ Dependency :: __ construct () ).
источник
Простое и понятное объяснение (из основного курса Magento U):
Жесткая зависимость
Подразумевает, что модуль не может функционировать без других модулей, от которых он зависит.
Пример жестких зависимостей включает в себя:
Magento_AdminNotification
имеет жесткую зависимость отMagento_Store
Мягкая зависимость
Подразумевает, что модуль может функционировать без других модулей, от которых он зависит.
Пример мягких зависимостей включает в себя:
Magento_AdvancedPricingImportExport
имеет мягкую зависимостьMagento_CatalogImportExport
с кодом, подобным этому:Если модуль использует код из другого модуля, он должен объявить зависимость явно.
РЕДАКТИРОВАТЬ: только что заметил, что это также четко объяснено в официальном документе: https://devdocs.magento.com/guides/v2.3/architecture/archi_perspectives/components/modules/mod_depend.html
источник