tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT

Как правильнее внедрять зависимости в контроллере laravel?

Вышел спор по поводу где правильнее указывать зависимости в контроллере Laravel?
в __construct
ClassController extends Controller {
   private $d1;
   private $d2;
   private $d3;

   public function __construct(Dependency1 $d1, Dependency2 $d2, Dependency3 $d3) {
       $this->d1 = $d1;
       $this->d2 = $d2;
       $this->d3 = $d3;       
   }

   public function create() {
        $this->d1->send();
        $this->d2->send();
     }

     public function index() {
       $this->d3->send();
     }
}

или в самих методах?
ClassController extends Controller {
     public function create(Dependency1 $d1, Dependency2 $d2) {
        $d1->send();
        $d2->send();
     }

     public function index(Dependency3 $d3) {
       $d3->send();
     }
}

Насколько правильно указывать зависимости для всего класса, которые не будут использоваться везде? Я ожидаю что laravel подтянет только те зависимости которые я укажу в методе. Или это так не работает и он всё равно сработает равнозначно что если бы я указал это в __construct?
  • Вопрос задан
  • 178 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы