Ich habe in einem Projekt mit benutzerdefiniertem Code gearbeitet ... dies ist unser erstes "mittleres" Magento 2-Projekt, also lernen wir (wie alle Leute hier denke) jeden Tag neue Dinge und müssen die Art und Weise ändern, wie wir damit umgehen mit dieser neuen Magento-Version
Der Grund für diese Frage ist die Frage nach dem Befehl setup:di:compile
Ich benutze es seit dem ersten Tag mit Magento 2, da bin / magento nach jedem setup:upgrade
mit der Meldung "Bitte führen Sie den Magento-Kompilierungsbefehl erneut aus" danach fragt.
Nun ... Ich habe festgestellt, dass setup:di:compile
in diesem Projekt die Produktansichtseite für Pausen mit einem völlig mehrdeutigen schwerwiegenden Fehler ausgeführt wird. Ich habe ganze Arbeitstage damit verbracht, es zu debuggen und mit Codeänderungen ohne Ergebnis zu testen
Heute habe ich festgestellt, dass, wenn ich diesen Befehl weglasse, alles wie ein Zauber wirkt, auch im Produktionsmodus
Die Frage ist also ... was genau setup:di:compile
befiehlt dieser Befehl? Ist es erforderlich? Nur empfohlen? Oder ist es ein veralteter Befehl, der nicht ausgeführt werden muss?
AKTUALISIEREN
Wie einige Benutzer gefordert haben, ist dies der schwerwiegende Fehler, auf den ich verwiesen habe
Schwerwiegender PHP-Fehler: Die abstrakte Klasse Magento \ Catalog \ Block \ Product \ View \ AbstractView in *** / vendor / magento / framework / ObjectManager / Factory / AbstractFactory.php in Zeile 93 kann nicht instanziiert werden
Ich habe mit Magento \ Catalog \ Block \ Product \ View \ AbstractView nach einem benutzerdefinierten Block gesucht, aber ich habe ihn nur in Layoutdateien gefunden. Er ist in keinem Blockklassenkonstruktor vorhanden
Was ich nicht verstehen kann ist: Warum Magento diesen schwerwiegenden Fehler mit kompiliertem Code auslöst, aber es funktioniert wie ein Zauber ohne kompilierten Code