Привет!
У Laravel есть диски. Это круто и удобно. Но вызывать конфиги в коде, это не удобно и не красиво.
Есть идея заставить ioc работать по такому принципу: я закидываю в конструктор например TemporaryDisk (интерфейс или класс, не важно) а мне придет уже нужный, настроенный диск.
Но при прокидывании конструктор ругается, что прилетел адаптер .
Service::__construct() must implement interface App\Disks\TemporaryDisk, instance of Illuminate\Filesystem\FilesystemAdapter given
Биндил как обычно:
$this->app->bind(TemporaryDisk::class, static fn() => Storage::disk(
(string) config('disks.tmp')
));
В доке написано, как подменить Filesystem, и оно работает.
Как правильно прокинуть?