He estado trabajando en un proyecto con un código personalizado ... este es nuestro primer proyecto "mediano" de Magento 2, por lo que (como todas las personas aquí creo) todos los días aprendemos cosas nuevas, y tenemos que cambiar la forma de lidiar con esta nueva versión de Magento
La razón de esta pregunta es preguntar sobre el comando setup:di:compile
Lo he estado usando desde el primer día con Magento 2, ya que bin / magento lo solicita después de cada setup:upgrade
mensaje de error "Vuelva a ejecutar el comando de compilación de Magento".
Bueno ... he encontrado la ejecución de setup:di:compile
pausas en la página de vista del producto en este proyecto, con un error fatal totalmente ambiguo. He pasado días hábiles enteros tratando de depurarlo y probando con cambios de código sin resultado
Hoy, he descubierto que si omito ese comando, todo funciona de maravilla, incluso en modo de producción
Entonces, la pregunta es ... ¿qué dice exactamente eso setup:di:compile
? ¿Se requiere? ¿Recién recomendado? ¿O es un comando obsoleto, que no es necesario ejecutar?
ACTUALIZAR
Como algunos usuarios han requerido, este es el error fatal al que me refería
Error fatal de PHP: no se puede crear una instancia de la clase abstracta Magento \ Catalog \ Block \ Product \ View \ AbstractView en *** / vendor / magento / framework / ObjectManager / Factory / AbstractFactory.php en la línea 93
He buscado cualquier bloque personalizado usando Magento \ Catalog \ Block \ Product \ View \ AbstractView pero lo he encontrado solo en archivos de diseño, no está presente en ningún constructor de clase de bloque
Lo que no puedo entender es: por qué Magento arroja este error fatal con código compilado, pero funciona de maravilla sin código compilado