При использовании конструкторов в Artisan-командах, каждый раз при вызове любой команды через php artisan, происходит конструирование экземпляра каждой команды, что приводит к автоматическому разрешению зависимостей через сервис-контейнер. Это может быть неожиданным и иметь нежелательные последствия, особенно в крупных проектах с большим количеством команд.
Поэтому здесь предлагается альтернативный подход: использование метода handle() для внедрения зависимостей. Этот метод вызывается только при выполнении самой команды и поддерживает внедрение зависимостей. Хотя это требует возвращения к более традиционному способу объявления свойств и приводит к некоторым утратам, автор считает, что важнее всего поддерживать команды Artisan легкими и быстрыми.
Post #4209
3.23K