Я работал над проектом с каким-то нестандартным кодом ... это наш первый "средний" проект Magento 2, поэтому (как и все люди здесь, я думаю) каждый день мы узнаем что-то новое, и мы должны изменить способ решения с этой новой версией Magento
Причиной этого вопроса является вопрос о команде setup:di:compile
Я использую его с первого дня в Magento 2, так как bin / magento запрашивает его после каждого setup:upgrade
с сообщением «Пожалуйста, повторите команду компиляции Magento»
Ну ... Я обнаружил, что setup:di:compile
в этом проекте выполняется страница просмотра продуктов с перерывами с совершенно неоднозначной фатальной ошибкой. Я потратил целые рабочие дни на отладку и тестирование с изменениями кода с нулевым результатом
Сегодня я обнаружил, что если я пропущу эту команду, то все работает как чудо, даже в производственном режиме
Итак, вопрос в том ... что именно эта setup:di:compile
команда? Это обязательно? Просто рекомендовал? Или это какая-то устаревшая команда, которую не нужно выполнять?
ОБНОВИТЬ
Как требовали некоторые пользователи, это Фатальная Ошибка, о которой я говорил
Неустранимая ошибка PHP: невозможно создать экземпляр абстрактного класса Magento \ Каталог \ Блок \ Продукт \ Вид \ AbstractView в *** / vendor / magento / framework / ObjectManager / Factory / AbstractFactory.php в строке 93
Я искал любой пользовательский блок, используя Magento \ Catalog \ Block \ Product \ View \ AbstractView, но нашел его только в файлах макета, его нет ни в одном конструкторе класса блока
Что я не могу понять, так это то, почему Magento генерирует эту Fatal Error со скомпилированным кодом, но это работает как чудо без скомпилированного кода