ошибка конструктора symfony такого сервиса не существует - PullRequest
0 голосов
/ 29 апреля 2019

Я новичок в Symfony. Я пытаюсь использовать конструктор, но он не работает, и я не понимаю, почему

error:
Cannot autowire service \App\Controller\OutputController argument $product of method &__construct() references class App\Entity\Product but no such service exists.



<?php

    namespace App\Controller;
    use App\Entity\Product;

    class OutputController  {

        private $product;
        public function __construct(Product $product)    
        {
            $this->product = $product;
        }

        public function jsonFormat() {                     
            return json_encode($this->product->toArray());
        }

    }
?>

спасибо

1 Ответ

1 голос
/ 29 апреля 2019

Вы используете автосвязь и пытаетесь связать сущность автоматически.По умолчанию они не представлены как сервисы этой строкой конфигурации по умолчанию app/config/services.yml:

App\:
        resource: '../src/*'
        exclude: '../src/{Entity,Migrations,Tests,Kernel.php}'

Как видите, Symfony предоставляет все файлы из src/*, кроме:

Entity, Migrations, Tests, Kernel.php


Вы не должны выставлять сущности как сервисы и не должны полагаться на сущности в вашем контроллере., Воспользуйтесь услугами для этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...