Методы контроллера Symfony 4 не могут автоматически передавать аргументы при развертывании Heroku - PullRequest
0 голосов
/ 25 октября 2018

У меня есть метод контроллера, который использовал $ doctrine в качестве ввода

public function getItem(Request $request, ObjectManager $doctrine, SerializerInterface $serializer): JsonResponse
{
    try {
        $item = $doctrine->getRepository(Item::class)->find($request->get('id'));

    } catch (Exception $e) {
        return new JsonResponse($e->getMessage());
    }
    $response = $serializer->serialize($item, 'json');
    return new JsonResponse($response);
}

И он работает локально, но сервер heroku не работает с ошибкой HP Fatal error:

Uncaught RuntimeException:Контроллер "App \ Controller \ Api \ ItemController :: getItem ()" требует, чтобы вы указали значение для аргумента "$ doctrine".Либо аргумент имеет значение NULL, и значение NULL не было предоставлено, значение по умолчанию не было предоставлено, либо после этого есть необязательный аргумент.в /app/vendor/symfony/http-kernel/Controller/ArgumentResolver.php:78

Я запустил requerements-check из композитора - вывод в порядке, и php bin/console debug:autowiring из героя Баш- все службы присутствуют в списке

Что пропущено, чтобы заставить развертывание работать так же, как локальное?Пожалуйста, черт возьми, я действительно потерян.

...