คำถามติดแท็ก setup-di-compile

4
ต้องการคำสั่งการรวบรวมใดในโหมดนักพัฒนาซอฟต์แวร์และเมื่อใด
ใครสามารถให้คำแนะนำฉันเมื่อเรียกใช้คำสั่งการคอมไพล์ในโหมดนักพัฒนา Magento 2 ได้หรือไม่ ฉันไม่แน่ใจว่าฉันเข้าใจถูกต้องหรือยัง ใน devdocs โหมดนักพัฒนาซอฟต์แวร์จะอธิบายดังนี้: ไฟล์มุมมองคงที่จะไม่ถูกแคช; พวกเขาถูกเขียนไปยัง Magento pub / static directory ทุกครั้งที่มีการเรียก หมายความว่าแต่ละไฟล์ใน pub / static ถูกสร้างขึ้นเมื่อมีการร้องขอและคุณไม่จำเป็นต้องโทรsetup:static-content:deployหรือไม่ สิ่งนี้ขัดแย้งกับประสบการณ์ของฉัน หรือฉันสามารถลบไฟล์ใด ๆ และพวกเขาจะถูกสร้างใหม่? นอกจากนี้รูปภาพ, ไฟล์ CSS และ JS ก็ดูเหมือนจะได้รับการปฏิบัติแตกต่างกันไป หน้าเอกสารสำหรับโหมดผู้พัฒนาไม่ได้พูดอะไรเกี่ยวกับการรวบรวมรหัส แต่ฉันคิดว่ามีความแตกต่างเช่นกันดังนั้นจึงไม่จำเป็นต้องเรียกใช้setup:di:compileหลังจากการเปลี่ยนแปลงทั้งหมดในdi.xmlไฟล์ สิ่งนี้ถูกต้องหรือไม่ถ้าการสร้างรหัสทำงานอย่างไรในโหมดนักพัฒนาซอฟต์แวร์ ในคำอื่น ๆ :แคชกันฉันต้องรันคำสั่งใดหลังจากที่เปลี่ยนแปลง?

3
Magento2 - ตั้งค่า: di: รวบรวม
ฉันทำงานในโครงการที่มีรหัสที่กำหนดเอง ... นี่เป็นโครงการ "สื่อกลาง" 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 …

1
ไม่สามารถประกาศอินเทอร์เฟซเนื่องจากชื่อนี้มีการใช้งานแล้ว
หลังจากสร้างอินเตอร์เฟสที่เรียบง่ายในโมดูลใหม่ของฉัน ฉันพิมพ์ในการตั้งค่าถังขยะ / วีโอไอพี: di: รวบรวมและฉันได้รับข้อผิดพลาดบอกว่าชื่อนี้มีการใช้งานแล้ว นี่คือรหัสของฉัน: namespace Company\Test\Api; /* * @api */ interface XyzInterface { public function getSomething(); } จากนั้นฉันได้รับข้อผิดพลาดนี้: Repositories code generation... 1/7 [====>-----------------------] 14% 2 secs 52.0 MiBPHP Fatal error: Cannot declare interface Company\Test\Api\XyzInterface, because the name is already in use in .../app/code/Company/Test/Api/XyzInterface.php on line 13 บรรทัดคือ …

5
Magento 2 - setup: di: compile throws ไม่มีโทเค็นที่ระบุไว้ผิดพลาด
ใน magento 2 เมื่อฉันเรียกใช้setup:di:compileฉันได้รับข้อผิดพลาดต่อไปนี้: [Zend \ Code \ Exception \ RuntimeException] ไม่มีโทเค็นให้บริการ วิธีแก้ปัญหานี้ ฉันปิดการใช้งานโมดูลเพิ่มเติมทั้งหมดรันการติดตั้ง: อัปเกรด แต่ยังคงฉันได้รับข้อผิดพลาดโทเค็น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.