Приложения Symfony используют Service Container или Dependency Injection Container (DIC) для создания экземпляров классов PHP, имеющих символ, подобный сервису, например Swiftmailer, EntityManager или сервисы, которые вы пишете сами. Сущность не считается услугой, ее часто называют моделью. Как таковой он не управляется контейнером. Вместо этого они управляются через EntityManager Doctrine, который может либо находить (и обновлять, либо удалять) существующие модели, либо вы создаете новую модель на месте и сохраняете ее (используя операции сохранения и сброса). Поскольку ваш ContactNotification
находится внутри пространства имен для сущностей App\Entity\
Служба автоматического подключения службы Symfony будет предполагать, что это объект, управляемый Doctrine, а не служба.
Решением вашей проблемы будет перемещениеContactNotification
в другую папку и пространство имен, например, src/Notifications
и, таким образом, namespace App\Notifications
. Это должно позволить службе автоматически подключаться и затем распознаваться внутри контроллера.
Вы всегда можете проверить правильность автоматического подключения службы с помощью команд отладки:
php bin/console debug:container ContactNotification
или
php bin/console debug:autowiring