можно в сервис провайдере задать, чтобы с случае если в реквесте метод ГЕТ, то подтягивался одна реализация интерфейса, если метод пост, то другая?)
ну дерни request() в bind-е, хотя это такое се
ан уровне сервис провайдера?)
А класс какой, не контролер ли случайно?
неа) в сервисе одном разрулить надо - через ифы как то некрасиво смотрится)
ты удивишься, но да, пропиши request() в провайдере
Понял) попробую сейчас) а то я уж решил отказаться от этой затеи)))
И правильно, я бы вощдержался от контекстного связывания, как минимум на основе request.
а как развязать, если мне разрулить надо?)
разные роуты сделать
Сервис в итоге вызывается где? В контролере?
да роуты и так разные) червис жирный и в зависимости от метода просто надо по разному собрать параметры с реквеста)
в другом сервисе))
не совсем понимаю потенциальных проблем этого) Сможешь поподробнее пжлст описать какие последствия от этого будут?
Зависимость сервиса от web окружения и не возможность его использовать например в job или консоли, где нет request.
Я как то видел пример, где bind подвязывали в посреднике .
ну да) согласен) Просто видимо контекста не хватило в молем вопросе) Сервис и так жестко на реквест завязан, потому что его задача собрать данные с реквеста)) Вытягивает нужное с тела - если пост запрос и с квери стринга если гет)
Ну тогда да или в service провайдере через bind и получкние из app('request') или через посредника на нужном маршруте. https://laravel.com/docs/8.x/container#contextual-binding
ага тоже на это смотрел) А мы в when можем получается callback подсунуть?)
Нет, зачем? Там ты укажешь сервис в который загоняешь интерфейс и в give в зависимости от request укажешь нужную реализацию данного интрфейса.
так у меня в рамках одного сервиса) Мне именно от типа глагола надо)
я думал ты имеешь ввиду калбеком подтянуть реквест и там в зависимости от метода разрулить)
глагола? ты же писал в завистмости от метода POST или GET
ну да)
Если тебе на все приложение тогда через обычный bind через callback разруливай, если только к определенному классу, то смотри выше.
ага) принял, спасибо) погнал ковырять)
Обсуждают сегодня