class MyController extends Controller {
private $data;
index() {
$data = (object)[];
$this->data = $data;
return compact();
}
otherRouteMethod() {
dd($this->data);
}
}
МАРШРУТЫ
Route::get('/my', MyController::class . '@index')->name('my.overview');
Route::get('/my/sub_route', MyController::class . '@otherRouteMethod');
Почему происходит следующее?
- Оба маршрута работают
dd($this->data)
печатает «ноль», так как он не был установлен в index ()
- Использование модификатора
public
для $ data приводит к той же проблеме
Это потому, что Laravel создает новый экземпляр класса при каждом изменении маршрута?