Size: a a a

2020 November 27

РИ

Роман Игумнов... in Laravel UA
Так что получается что мне данные из конструктора никак не использовать потому что это всего лишь центр подключения?
источник

РИ

Роман Игумнов... in Laravel UA
Т.е конструктор только например в классе релизатора интерфейса делать?
источник

РИ

Роман Игумнов... in Laravel UA
А сервис контейнер просто соединит мне интерфейс и реализацию?
источник

MW

Maxyc Webber in Laravel UA
Не ром. Тормозни. Ты там чутка не верно сделал
источник

AS

Alex Sin in Laravel UA
Картина маслом!
источник

YP

Yurii Prudskyi in Laravel UA
Роман Игумнов
Т.е конструктор только например в классе релизатора интерфейса делать?
ага
источник

MW

Maxyc Webber in Laravel UA
Ты зачем от сервис провайдера экстендишься
источник

AS

Alex Sin in Laravel UA
Maxyc Webber
Ты зачем от сервис провайдера экстендишься
экзотики ради
источник

YP

Yurii Prudskyi in Laravel UA
ты делаешь там конструктор, который чет ожидает, а вот в сервис провайдере ты тужа передаешь штуки в конструктор в методе регистр или бут
источник

YP

Yurii Prudskyi in Laravel UA
источник

YP

Yurii Prudskyi in Laravel UA
вот тебе пример из доки
источник

AS

Alex Sin in Laravel UA
Чтобы заменить конструктор сервис првойдера - возможно следует использовать исскуственный обсервер, но это не кажется правильным от слова странно
источник

РИ

Роман Игумнов... in Laravel UA
Alex Sin
Чтобы заменить конструктор сервис првойдера - возможно следует использовать исскуственный обсервер, но это не кажется правильным от слова странно
Да это точно будет странно
источник

РИ

Роман Игумнов... in Laravel UA
Maxyc Webber
Ты зачем от сервис провайдера экстендишься
Потому что это сервис провайдер)  Тогда получается он будет как обычный класс
источник

РИ

Роман Игумнов... in Laravel UA
В таком случаи лучше его сделать абстрактным классом и где нужно экстендить а в провайдере просто зарегать
источник

MR

Maxim Rebitskiy in Laravel UA
Что бы понять для чего и как работают Сервис Провайдеры, достаточно зайти по этой ссылке, и даже в разделе Introduction, расписано что и для чего.
источник

РИ

Роман Игумнов... in Laravel UA
Maxim Rebitskiy
Что бы понять для чего и как работают Сервис Провайдеры, достаточно зайти по этой ссылке, и даже в разделе Introduction, расписано что и для чего.
Не согласен. Странно там написано, ты сразу сходу понял как только прочитал первый раз?
источник

MW

Maxyc Webber in Laravel UA
Ром. у тебя есть обычный класс-адаптер к твоей платежной системе. без экстендов и чего либо еще
в сервис провайдере биндишь этот сервис на интерфейс
this->app->bind(PayInterface::class, function($container){
$service = new PayService([
config('pay_secret'),
config('pay_url_success'),
config('pay_url_fail'),
...
]);
return $service;
});

в контроллере через DI используешь
__construct(PayInterface $service)
источник

MR

Maxim Rebitskiy in Laravel UA
Роман Игумнов
Не согласен. Странно там написано, ты сразу сходу понял как только прочитал первый раз?
Ну если сейчас читать то понимаю.
Возможно помогло образование, когда мне в универе попался хороший препод по архитектуре ПЗ.
Но тебе тут не особо нужен свой сервис провайдер. Вот выше кинули в сообщении пример бинда, тебе его хватит прописать даже в AppServiceProvider, для начала уж точно.
Начинай с малого, а потом переходи к “рефакторингу”.
источник

РИ

Роман Игумнов... in Laravel UA
Maxyc Webber
Ром. у тебя есть обычный класс-адаптер к твоей платежной системе. без экстендов и чего либо еще
в сервис провайдере биндишь этот сервис на интерфейс
this->app->bind(PayInterface::class, function($container){
$service = new PayService([
config('pay_secret'),
config('pay_url_success'),
config('pay_url_fail'),
...
]);
return $service;
});

в контроллере через DI используешь
__construct(PayInterface $service)
Спасибо. Отличное решение. 👍👍👍👍👍
источник