ฉันทำงานในโครงการที่มีรหัสที่กำหนดเอง ... นี่เป็นโครงการ "สื่อกลาง" Magento 2 ครั้งแรกของเราดังนั้น (เพราะทุกคนที่นี่ฉันคิดว่า) ทุกวันที่เราเรียนรู้สิ่งใหม่และเราต้องเปลี่ยนวิธีจัดการ กับเวอร์ชั่นใหม่ของ Magento
เหตุผลสำหรับคำถามนี้คือการถามเกี่ยวกับคำสั่ง setup:di:compile
ฉันใช้มันมาตั้งแต่วันแรกกับ Magento 2 ในขณะที่ bin / magento ขอให้ทุกคนsetup:upgrade
พร้อมกับข้อความ"โปรดเรียกใช้คำสั่งรวบรวม Magento อีกครั้ง"
ดี ... ฉันได้พบว่าการดำเนินการsetup:di:compile
แบ่งหน้าดูผลิตภัณฑ์ในโครงการนี้ด้วยข้อผิดพลาดร้ายแรงที่ไม่ชัดเจนทั้งหมด ฉันใช้เวลาทั้งวันในการพยายามแก้ไขข้อบกพร่องและทดสอบกับการเปลี่ยนรหัสโดยไม่มีผลลัพธ์
วันนี้ฉันได้ค้นพบว่าถ้าฉันไม่ใช้คำสั่งนั้นทุกอย่างก็ใช้งานได้อย่างมีเสน่ห์แม้ในโหมดการผลิต
ดังนั้นคำถามคือ ... setup:di:compile
คำสั่งนั้นทำอะไรกันแน่? จำเป็นหรือไม่ เพิ่งแนะนำ หรือเป็นคำสั่งที่เลิกใช้แล้วซึ่งไม่จำเป็นต้องดำเนินการ
UPDATE
เนื่องจากผู้ใช้บางรายจำเป็นต้องใช้นี่เป็นข้อผิดพลาดร้ายแรงที่ฉันอ้างถึง
ข้อผิดพลาดร้ายแรงของ PHP: ไม่สามารถยกตัวอย่างคลาส Magento \ Catalog \ Block \ Product \ View \ AbstractView ใน *** / ผู้ขาย / magento / กรอบ / ObjectManager / โรงงาน / AbstractFactory.php ในบรรทัด 93
ฉันค้นหาบล็อกที่กำหนดเองใด ๆ โดยใช้ Magento \ Catalog \ Block \ Product \ View \ AbstractView แต่ฉันพบเฉพาะในไฟล์เลย์เอาต์มันไม่ปรากฏในตัวสร้างคลาสบล็อกใด ๆ
สิ่งที่ฉันไม่เข้าใจคือทำไมวีโอไอพีโยนข้อผิดพลาดร้ายแรงนี้ด้วยรหัสที่คอมไพล์แล้ว