Да, не совсем понимаю суть DI, хоть сколько и читал, но понял лишь то, что в конструктор класса надо передавать объект другого класса, и потом объект переданного класса передавать в свойство (ну типо как вот тут):
class Table {
public $cup;
public function __construct(Cup $cup) {
$this->cup = $cup;
}
}
И вот в Laravel есть такое: когда передается реквест в экшн, то он приходит параметром, и это выглядит следующим образом:
public function update(RequestUpdatePost $request, $id) {}
Однако, я попробовал сделать так:
public function update($id) {
$request = new RequestUpdatePost;
И результат вышел тот же. В чем принципиальная разница с отрывками этих двух кодов?