Задать вопрос

Как правильно использовать Di symfony?

Использую отдельный компонент DI "symfony/dependency-injection"
Получаю такую ошибку
ArgumentCountError: Too few arguments to function App\Http\Controllers\UploadController::__construct(), 0 passed in /code/vendor/symfony/http-kernel/Controller/ControllerResolver.php on line 133 and exactly 1 expected in file /code/app/Http/Controllers/UploadController.php on line 16


есть такой контролллер
class UploadController
{
    private $uploader;

    public function __construct(UploaderServiceContract $uploaderServiceContract)
    {
        $this->uploader = $uploaderServiceContract;
    }

    public function upload(Request $request)
    {
        $files = $request->files->get('files');
        if (empty($files)) {
            Log::error('No file specified');

            return new JsonResponse([
                'error' => 'No file specified.',
            ]);
        }

        return $this->uploader->upload($files);
    }
}

мой файл с конфигурациями DI
services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: true
  App\:
    resource: ../app/
    exclude: ../app/[a-z]*

  App\Contracts\UploaderServiceContract:
    class: 'App\Services\UploaderService'
  App\Contracts\StorageServiceContract:
    class: 'App\Service\MinioService'

Я так понял , нужно прописать моя зависимость в моем di файле? если да , то этот Contracts уже используется и как его дополнить для моего контроллера? если конечно проблема в этом
  • Вопрос задан
  • 575 просмотров
Подписаться 4 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@LemonFox
stateless mind
Комментировать
@iAdil
В конфиге в UploadController передайте аргумент UploaderServiceContract
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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