In Magento 2 (jede stabile Version) können Sie diesen Befehl ausführen, bin/magento info:dependencies:show-modules
und Sie erhalten im Stammverzeichnis Ihrer Anwendung eine CSV-Datei modules-dependencies.csv
mit allen Modulabhängigkeiten, die folgendermaßen aussehen:
Was ist eine harte Abhängigkeit und was ist eine weiche Abhängigkeit? Ein Beispiel von jedem würde helfen.
magento2
module
dependency
Marius
quelle
quelle
Antworten:
Es gibt drei verschiedene Abhängigkeitsparser (Implementierungen von
Magento\Setup\Module\Dependency\ParserInterface
):Die einzige, die zwischen harten und weichen Abhängigkeiten unterscheidet, ist der Composer-Parser (siehe: Magento \ Setup \ Module \ Dependency \ Parser \ Composer \ Json :: extractDependencies () ).
Eine weiche Abhängigkeit ist ein Paket, das in "suggest" aufgeführt ist, eine harte Abhängigkeit ein Paket in "require".
Der Standardtyp für Abhängigkeiten ist hard , das heißt, die von den anderen Parsern gefundenen Abhängigkeiten sind immer hard (siehe Magento \ Setup \ Module \ Dependency \ Report \ Dependency \ Data \ Dependency :: __ construct () ).
quelle
Eine einfache und klare Erklärung (aus dem Magento U-Grundlagenkurs):
Harte Abhängigkeit
Impliziert, dass ein Modul ohne die anderen Module, von denen es abhängt, nicht funktionieren kann .
Beispiele für harte Abhängigkeiten sind:
Magento_AdminNotification
hat eine harte Abhängigkeit vonMagento_Store
Weiche Abhängigkeit
Impliziert, dass ein Modul ohne die anderen Module funktionieren kann, von denen es abhängt.
Beispiele für weiche Abhängigkeiten sind:
Magento_AdvancedPricingImportExport
hat eine weiche Abhängigkeit vonMagento_CatalogImportExport
mit Code wie folgt:Wenn ein Modul Code aus einem anderen Modul verwendet, sollte es die Abhängigkeit explizit deklarieren.
BEARBEITEN: gerade bemerkt, dass dies auch im offiziellen Dokument deutlich erklärt wird: https://devdocs.magento.com/guides/v2.3/architecture/archi_perspectives/components/modules/mod_depend.html
quelle