Magento 2 містить ряд файлів класу, які або попередньо згенеровані, або генеруються під час руху. Вони живуть в
var/generated
Ці створені файли включають фабричні класи. З документації я розумію, що програміст використовує фабричні класи для інстанції "неін'єкційних" об'єктів. "Неін'єкційний" об'єкт - це об'єкт, який не можна додати за допомогою __constructor
ін'єкції залежності, як правило, тому, що він потребує введення користувачем для інстанції.
З документації не зрозуміло, як Magento 2 знає, що це потрібно для створення заводського класу. Це трохи
Якщо менеджер об'єктів стикається з неіснуючою фабрикою в режимі виконання або компілятором, менеджер об'єктів генерує завод.
виглядає так, як якщо я використовую заводський клас у диспетчері об'єктів (або, в розширенні, в ін'єкційному режимі __constructors), що Magento 2 генерує його для мене. Але як менеджер об'єктів знає, що я запитую, це завод?
Також, схоже, є дві команди для автоматичного генерування (або "компілювання") всіх створених класів. Запуск будь-якої з цих команд генерує велику кількість заводських класів. Які файли конфігурації та / або коду ці команди шукають для створення необхідних заводських об'єктів?
Я знаю, що відстеження диспетчера об'єктів та / або коду команди до кінця дозволить виявити це, але я сподіваюсь уникнути цієї тривалої та важкої подорожі.