У Magento 2 (beta9 і вище) ви можете запустити цю команду, php bin/magento setup:di:compile
і всі перехоплювачі, фабрики та проксі-сервери (а може бути й інші) будуть генеровані в var/generation
папці для всіх класів у вашому екземплярі magento.
Це корисно для живих середовищ, оскільки в іншому випадку класи, згадані вище, будуть генеруватися під час виконання, коли вони знадобляться та можуть вплинути на продуктивність.
Чи є спосіб виключити деякі класи з цього сценарію, щоб перехоплювачі не створювались під час виконання команди?
Як приклад: Я хочу, щоб у контролера Magento\Backend\Controller\Adminhtml\Dashboard\RefreshStatistics
не було створено перехоплювачів.
setup:di:compile
не вдається, оскільки деякі батьківські класи відсутні. Класи, що розширюють ці відсутні класи, як і раніше, але вони не використовуються додатком. І я не можу їх видалити, оскільки вони знаходяться в потрібних мені модулях. Дивіться повне пояснення нижче: magento.stackexchange.com/questions/69040/…