Magento 2에는 미리 생성되거나 즉시 생성되는 많은 클래스 파일이 포함되어 있습니다. 그들은에 살고
var/generated
이러한 생성 된 파일에는 팩토리 클래스가 포함됩니다. 에서 문서 , 그것은 프로그래머가 인스턴스화 "비 주사"객체 팩토리 클래스를 사용하는 나의 이해이다. "주입 불가능"오브젝트는 일반적으로 인스턴스화하기 위해 사용자 입력이 필요하기 때문에 종속성 주입을 통해 추가 할 수없는 오브젝트입니다 __constructor
.
문서에서 명확하지 않은 것은 Magento 2가 팩토리 클래스를 생성해야한다는 것을 어떻게 알 수 있는지입니다. 이 비트
런타임 모드 또는 컴파일러에서 객체 관리자가 존재하지 않는 팩토리를 발견하면 객체 관리자가 팩토리를 생성합니다.
객체 관리자 (또는 의존성 주입 __constructors)에서 팩토리 클래스를 사용하면 Magento 2가 나를 위해 생성하는 것처럼 들립니다. 그러나 객체 관리자는 내가 요청한 것이 공장이라는 것을 어떻게 알 수 있습니까?
또한 생성 된 모든 클래스를 자동으로 생성 (또는 "컴파일")하는 명령 이 두 개 있는 것 같습니다 . 이러한 명령 중 하나를 실행하면 많은 팩토리 클래스가 생성됩니다. 필요한 팩토리 객체를 생성하기 위해 이러한 명령이보고있는 구성 및 / 또는 코드 파일은 무엇입니까?
객체 관리자 및 / 또는 명령 코드를 추적하면이 사실을 알 수 있지만 길고 힘든 여행을 피하고 싶습니다.