Я строю класс php, которому для некоторых методов нужен экземпляр Request.
Пример :
static public function warningAlert($message, Request $request) {
$request->session()->flash('alert-warning', "$message");
}
Я думал, что поставщик услуг предоставит этот экземпляр, но он этого не делает:
Argument 2 passed to ...\validatorAlerts() must be an instance of Illuminate\Http\Request, none given
Как я могу предоставить его?
PS: я не хочу использовать фасады.
Вы могли бы сделать что-то вроде:
app()->call('Classname::warningAlert', [ $message ]);
В качестве альтернативы вы можете изменить свой метод:
static public function warningAlert($message) {
$request = resolve("request");
$request->session()->flash('alert-warning', "$message");
}
Вы можете использовать вспомогательную функцию request()
static public function warningAlert($message) {
request()->session()->flash('alert-warning', "$message");
}
Или даже лучше, я рекомендую вам использовать laracasts/flash
пакет