ใน Magento 2 (beta9 ขึ้นไป) คุณสามารถเรียกใช้คำสั่งนี้php bin/magento setup:di:compile
และตัวดักทั้งหมดโรงงานและผู้รับมอบฉันทะ (และอาจจะอื่น ๆ ) จะถูกสร้างขึ้นในvar/generation
โฟลเดอร์สำหรับคลาสทั้งหมดที่คุณมีในอินสแตนซ์วีโอไอพีของคุณ
สิ่งนี้มีประโยชน์สำหรับสภาพแวดล้อมจริงเพราะมิฉะนั้นคลาสที่กล่าวถึงข้างต้นจะถูกสร้างขึ้นที่รันไทม์เมื่อจำเป็นและอาจส่งผลกระทบต่อประสิทธิภาพการทำงาน
มีวิธียกเว้นคลาสบางส่วนจากสคริปต์นี้หรือไม่ดังนั้นตัวดักจับจะไม่ถูกสร้างเมื่อเรียกใช้คำสั่งหรือไม่
ตัวอย่างเช่น: ฉันต้องการให้คอนโทรลเลอร์Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics
ไม่ได้สร้างตัวดัก
setup:di:compile
ล้มเหลวเนื่องจากบางผู้ปกครองหายไปเรียน คลาสที่ขยายคลาสที่หายไปเหล่านั้นยังคงมีอยู่ แต่ไม่ได้ใช้โดยแอปพลิเคชัน และฉันไม่สามารถลบออกได้เนื่องจากอยู่ในโมดูลที่ฉันต้องการ ดูคำอธิบายแบบเต็มด้านล่าง: magento.stackexchange.com/questions/69040/…