Size: a a a

2021 June 21

IS

Ivan Savchuk in Laravel Pro
Спасибо большое
источник

ПФ

Паша Финогентов... in Laravel Pro
То есть тебе в разных контроллерах нужны разные реализации с одним интерфейсом?
источник

IS

Ivan Savchuk in Laravel Pro
Да, именно так
источник

А

Антон in Laravel Pro
источник

IS

Ivan Savchuk in Laravel Pro
В моём случае что именно надо подключить под ->needs и ->give?
источник

IS

Ivan Savchuk in Laravel Pro
Так не работает, не пойму что под needs ставить:
источник

IS

Ivan Savchuk in Laravel Pro
$this->app->when(ParserController::class)
           ->give(function () {
               return new SimpleXmlParser();
           });
источник

IS

Ivan Savchuk in Laravel Pro
Вместо
       $this->app->singleton(Parser::class, function ($app){
           return new SimpleXmlParser();
       });
Применяю
       $this->app->when(ParserController::class)
           ->needs(Parser::class)
           ->give(function () {
               return new SimpleXmlParser();
           });
источник

MW

Maxyc Webber in Laravel Pro
Parser это интерфейс?
источник

IS

Ivan Savchuk in Laravel Pro
Да
источник

MW

Maxyc Webber in Laravel Pro
добавьте суффикс интерфейс. будет чуть удобнее
источник

ПЛ

Павел Ланчев... in Laravel Pro
спорно
источник

IS

Ivan Savchuk in Laravel Pro
этот вариант что я скинул - не работает
источник

MW

Maxyc Webber in Laravel Pro
добавление контекста. легче глазами воспринимается и меньше вопросов.
источник

IS

Ivan Savchuk in Laravel Pro
Target [App\Contracts\Parsing\Parser] is not instantiable.
источник

ПФ

Паша Финогентов... in Laravel Pro
Контракт сейчас модно
источник

MW

Maxyc Webber in Laravel Pro
Ну тут уже кому какой фломастер. кстати контракт видел только в названии папочк
источник

ПЛ

Павел Ланчев... in Laravel Pro
Interface в данном случае добавляется только потому что "ну вот я хочу видеть что это интерфейс". А зачем?
источник

MW

Maxyc Webber in Laravel Pro
чтобы не спутать с классом внезапно
источник

MW

Maxyc Webber in Laravel Pro
хз
источник