#autowired #symfony-3.4 #entitylisteners
Вопрос:
Рассмотрим следующий код прослушивателя:
namespace MyBundleListeners;
class MyListener
{
public function __construct(UserManager $userManager, LoggerInterface $logger)
{
this->userManager = $userManager;
$this->logger = $logger;
}
// ...
}
Конфигурационный файл
services:
_defaults:
autowire: true
autoconfigure: true
public: false
MyBundleListenersMyListener:
arguments:
- '@MyBundleManagerUserManager'
- '@logger'
tags:
- { name: doctrine.event_listener, event: preUpdate }
- { name: doctrine.event_listener, event: postFlush }
И сущность:
/**
* @ORMEntity()
*
* @ORMEntityListeners({"MyBundleListenersMyListener"})
*/
class MyEntity
{
}
Это дает мне ошибку:
Слишком мало аргументов для функции MyBundleListenersMyListener::__construct(), 0 передано в /var/www/project/vendor/doctrine/doctrine-bundle/Mapping/ContainerEntityListenerResolver.php на линии 80 и ровно 2 ожидаемых
Если я удаляю @ORMEntityListeners
аннотацию, она действует так, как будто слушателя не существует.
Есть какие-нибудь идеи?