169 похожих чатов

Кстати пользуясь случаем хотел задать вопрос) Когда есть какой то

глобальный сервис, его можно заинжектить. В контроллере так вообще передать его как зависимость и он будет доступен автоматом. А есть ли какой то красивый способ для сервисов, который зависят от данных, приходящих в контроллер? Например есть ProductService(Product $product), и чтобы его сделать, нужно либо создавать экземпляр после получения $product, либо инжектить сам сервис, а затем делать какой то сет типа $productService->set($product). Есть ли какое-то более изящное решение?

13 ответов

22 просмотра

Ты же у сервиса всё равно методы дёргаешь, почему не передавать данные сразу в методы?

Sergey-Shitikov Автор вопроса
Артём
Ты же у сервиса всё равно методы дёргаешь, почему ...

Ну тогда можно сделать сервис с пачкой статических методов. А если стейт нужен?

https://laravel.com/docs/10.x/container#contextual-binding

Sergey-Shitikov Автор вопроса
Egor Gruzdev
https://laravel.com/docs/10.x/container#contextual...

это да, но тогда вопрос как передать данные для контекстного биндинга, если они только в контроллере появляются

Sergey Shitikov
это да, но тогда вопрос как передать данные для ко...

если данные в request, то можно там где ты описываешь Сontextual binding там и сделать все, но лучше так не нужно делать, боль в поддержке

Sergey-Shitikov Автор вопроса

да устраивает, подумал есть какой нибудь более изящный подход))

Sergey-Shitikov Автор вопроса

а как можно request передать в contextual binding? я так делать конечно не буду, просто интересно

Sergey Shitikov
да устраивает, подумал есть какой нибудь более изя...

По мне так более очевидно и в поддержке норм.

Sergey Shitikov
а как можно request передать в contextual binding?...

Точно также как в случае просто bind, при использовании функции замыкания, первым аргументом передаёт Application, а он есть Котейнер.

Sergey-Shitikov Автор вопроса
Egor Gruzdev
Точно также как в случае просто bind, при использо...

а, ты имеешь ввиду через app вытащить реквест? получается контекстный биндинг он отложенный, когда вызываем сервис в нужном месте, реквест уже есть и можно собрать объект с нужными данными. Я правильно понял?

Sergey Shitikov
да устраивает, подумал есть какой нибудь более изя...

Я бы и от setProduct() воздерживаться, зачем он там нужен. Судь contextual Binding, в зависимости от условий вернуть тот или иной сервис. Получил сервис, в него передал продукт в ответ получил результат все, зачем все эти set, храниния состояний и т.д.

Sergey-Shitikov Автор вопроса
Egor Gruzdev
Я бы и от setProduct() воздерживаться, зачем он та...

да это понятно. просто размышлял и подумал может я пропустил какой нибудь новый крутой подход. оказалось что нет))

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

Обсуждают сегодня

Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Всем привет! procedure TForm1.FormCreate(Sender: TObject); type TStartEnd = record S: Byte; E: Byte; end; var a, b: TStartEnd; begin {1} a.S := 1; {2} a.E := 2; ...
Руслан Михайлович
10
Всем привет!) я тут новенький и пытаюсь освоить evolution методом тыка. У меня при переходе между папками файлов выскакивают вот такие уведомления Можете подсказать как их от...
Диман Samoed
10
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Карта сайта