Magento 2 มีไฟล์คลาสจำนวนหนึ่งที่สร้างไว้ล่วงหน้าหรือสร้างขึ้นทันที พวกเขาอาศัยอยู่ใน
var/generated
ไฟล์ที่สร้างขึ้นเหล่านี้รวมถึงคลาสของโรงงาน จากเอกสารฉันเข้าใจว่าโปรแกรมเมอร์ใช้คลาสโรงงานเพื่ออินสแตนซ์วัตถุ "ที่ไม่สามารถฉีดได้" วัตถุ "ที่ไม่สามารถฉีดได้" เป็นวัตถุที่ไม่สามารถเพิ่มผ่าน__constructor
การฉีดตามปกติเนื่องจากต้องให้ผู้ใช้ป้อนอินสแตนซ์
สิ่งที่ไม่ชัดเจนจากเอกสารประกอบคือวีโอไอพี 2 รู้ว่ามันต้องการสร้างคลาสโรงงาน บิตนี้
หากตัวจัดการวัตถุที่พบไม่มีอยู่ในโหมดรันไทม์หรือคอมไพเลอร์ตัวจัดการวัตถุจะสร้างโรงงาน
ทำให้ดูเหมือนว่าถ้าฉันใช้คลาสโรงงานในตัวจัดการวัตถุ (หรือโดยการขยายในการพึ่งพา __ คอนสตรัคชันการฉีด) สิ่งที่วีโอไอพี 2 จะสร้างขึ้นมาเพื่อฉัน แต่ผู้จัดการวัตถุจะรู้ได้อย่างไรว่าสิ่งที่ฉันขอเป็นโรงงานหรือไม่
นอกจากนี้ดูเหมือนว่าจะมีสอง คำสั่งสำหรับการสร้างโดยอัตโนมัติ (หรือ "รวบรวม") คลาสที่สร้างขึ้นทั้งหมด การรันคำสั่งอย่างใดอย่างหนึ่งเหล่านี้จะสร้างคลาส Factory จำนวนมาก ไฟล์คำสั่งกำหนดค่าและ / หรือไฟล์ใดที่คำสั่งเหล่านี้มองหาเพื่อสร้างวัตถุที่ต้องการจากโรงงาน?
ฉันรู้ว่าการติดตามตัวจัดการวัตถุและ / หรือรหัสคำสั่งทุกอย่างจะเปิดเผยสิ่งนี้ แต่ฉันหวังว่าจะหลีกเลี่ยงการเดินทางที่ยาวนานและลำบาก