Magento 2 (안정된 버전)에서는이 명령을 실행할 bin/magento info:dependencies:show-modules
수 있으며 modules-dependencies.csv
다음과 같은 모든 모듈 종속성으로 호출 되는 응용 프로그램의 루트에 csv 파일 이 있습니다.
Hard 의존성은 무엇이며 Soft 의존성은 무엇입니까? 각각의 예가 도움이 될 것입니다.
Magento 2 (안정된 버전)에서는이 명령을 실행할 bin/magento info:dependencies:show-modules
수 있으며 modules-dependencies.csv
다음과 같은 모든 모듈 종속성으로 호출 되는 응용 프로그램의 루트에 csv 파일 이 있습니다.
Hard 의존성은 무엇이며 Soft 의존성은 무엇입니까? 각각의 예가 도움이 될 것입니다.
답변:
세 가지 다른 종속성 파서가 있습니다 (구현 Magento\Setup\Module\Dependency\ParserInterface
) :
hard 및 soft 종속성을 구별하는 유일한 것은 composer 구문 분석기입니다 ( Magento \ Setup \ Module \ Dependency \ Parser \ Composer \ Json :: extractDependencies () 참조 ).
소프트 종속성 "제안"는에 나와있는 패키지이다 하드 "필요"에 의존 패키지를.
기본 종속성 유형은 hard 입니다. 즉, 다른 파서가 찾은 종속성은 항상 단단합니다 ( Magento \ Setup \ Module \ Dependency \ Report \ Dependency \ Data \ Dependency :: __ construct () 참조 ).
간단하고 명확한 설명 (Magento U 기본 과정) :
것을 의미 모듈이 없는 이 의존하는 다른 모듈없이 기능.
하드 종속성의 예는 다음과 같습니다.
Magento_AdminNotification
에 대한 의존도가 높다 Magento_Store
것을 의미 모듈 수 는 의존하는 다른 모듈없이 기능.
소프트 종속성의 예는 다음과 같습니다.
Magento_AdvancedPricingImportExport
다음 Magento_CatalogImportExport
과 같은 코드 에 대한 의존성 이 있습니다.
if (!$model instanceof \Magento\CatalogImportExport\Model\Export\Product\Type\AbstractType) {
throw new \Magento\Framework\Exception\LocalizedException(
__(
'Entity type model must be an instance of'
. ' \Magento\CatalogImportExport\Model\Export\Product\Type\AbstractType'
)
);
}
모듈이 다른 모듈의 코드를 사용하는 경우 종속성을 명시 적으로 선언해야합니다.
편집 : 이것은 공식 문서에도 명확하게 설명되어 있습니다 : https://devdocs.magento.com/guides/v2.3/architecture/archi_perspectives/components/modules/mod_depend.html