Eu tenho trabalhado em um projeto com algum código personalizado ... este é o nosso primeiro projeto "médio" do Magento 2, então (como todas as pessoas daqui eu acho) todos os dias aprendemos coisas novas e precisamos mudar a maneira de lidar com esta nova versão do Magento
O motivo desta pergunta é perguntar sobre o comando setup:di:compile
Uso-o desde o primeiro dia com o Magento 2, como o bin / magento pede depois de todos os dias setup:upgrade
, com a mensagem "Por favor, execute novamente o comando de compilação do Magento"
Bem ... Eu encontrei a execução de setup:di:compile
interrupções na página de visualização do produto neste projeto, com um erro fatal totalmente ambíguo. Passei dias úteis tentando depurá-lo e testando com alterações de código com resultado zero
Hoje, descobri que, se eu omitir esse comando, tudo funciona como um encanto, mesmo no modo de produção
Então, a pergunta é ... o que exatamente isso setup:di:compile
ordena? É necessário? Apenas recomendado? Ou é algum comando obsoleto, que não precisa ser executado?
ATUALIZAR
Como alguns usuários exigiram, esse é o erro fatal que eu estava me referindo
Erro fatal do PHP: Não é possível instanciar a classe abstrata Magento \ Catalog \ Block \ Product \ View \ AbstractView em *** / vendor / magento / framework / ObjectManager / Factory / AbstractFactory.php na linha 93
Procurei por qualquer bloco personalizado usando Magento \ Catálogo \ Bloco \ Produto \ Visualização \ ResumoView, mas o encontrei apenas em arquivos de layout, não está presente em nenhum construtor de classe de bloco
O que não consigo entender é: por que o Magento está lançando esse erro fatal com código compilado, mas funciona como um encanto sem código compilado