W Magento 2 (dowolna stabilna wersja) możesz uruchomić to polecenie, bin/magento info:dependencies:show-modules
a otrzymasz plik csv w katalogu głównym aplikacji nazywany modules-dependencies.csv
wszystkimi zależnościami modułu, które wyglądają tak:
Co to jest zależność twarda, a co zależność miękka? Przykład każdego z nich by pomógł.
magento2
module
dependency
Marius
źródło
źródło
Odpowiedzi:
Istnieją trzy różne parsery zależności (implementacje
Magento\Setup\Module\Dependency\ParserInterface
):Jedynym, który odróżnia twarde i miękkie zależności, jest parser kompozytora (patrz: Magento \ Setup \ Module \ Dependency \ Parser \ Composer \ Json :: extractDependencies () )
Miękki uzależnienie to pakiet, wymienione w „sugerować”, w twardej uzależnienia pakiet w „wymagają”.
Domyślny typ zależności jest trudny , co oznacza, że zależności znalezione przez inne parsery są zawsze trudne (patrz Magento \ Setup \ Module \ Dependency \ Report \ Dependency \ Data \ Dependency :: __ construct () ).
źródło
Proste i jasne wyjaśnienie (z kursu podstaw Magento U):
Ciężka zależność
Oznacza, że moduł nie może działać bez innych modułów, od których jest zależny.
Przykładem twardych zależności są:
Magento_AdminNotification
ma silną zależność odMagento_Store
Miękka zależność
Oznacza, że moduł może działać bez innych modułów, od których jest zależny.
Przykład miękkich zależności obejmuje:
Magento_AdvancedPricingImportExport
ma miękką zależność odMagento_CatalogImportExport
takiego kodu:Jeśli moduł używa kodu z innego modułu, powinien jawnie zadeklarować zależność.
EDYCJA: właśnie zauważyłem, że jest to również wyjaśnione w oficjalnym dokumencie: https://devdocs.magento.com/guides/v2.3/architecture/archi_perspectives/components/modules/mod_depend.html
źródło