Comments 10
Думаю, имеет смысл добавить обработку postPersist события в EntityConfigurator. В этом случае в новые присоединенные к EntityManager'у сущности так же будут заинжекчены нужные сервисы, иначе при создании сущности через конструктор придется руками их добавлять.
+1
диспетчеризацияубила мой мозг :)
-2
Зачем?
+1
Например, полиморфные сущности с разными зависимостями.
0
Зачем у сущностей разные зависимости?
Почему нельзя реализовать через простые сервисы?
Примеры из жизни?
Почему нельзя реализовать через простые сервисы?
Примеры из жизни?
+1
Что значит через простые сервисы? Их же тоже надо как-то внедрять.
Пример: набор правил с параметрами, с единым интерфейсом выполнения/применимости, но с разными зависимостями. Правила сохраняются/загружаются как сущности Doctrine. И вот, чтобы в загруженных правилах уже были внедрены нужные сервисы и нужна такая штука.
Пример: набор правил с параметрами, с единым интерфейсом выполнения/применимости, но с разными зависимостями. Правила сохраняются/загружаются как сущности Doctrine. И вот, чтобы в загруженных правилах уже были внедрены нужные сервисы и нужна такая штука.
0
$this->get('goodServiceWithDependencies')->makeGood($entity);
0
а этот $this->get откуда взялся? Все равно нужно как-то инжектить этот сервис локатор либо использовать глобальное состояние
0
Этот код может находится в контроллере. Если нужно вызвать метод из другого сервиса, то goodServiceWithDependencies в него просто инжектится.
Тоже думал, как же выполнять в модели логику, которая зависит от других объектов? Оказалось, что design-pattern.ru/patterns/service-layer.html будет лучшим решением в этой ситуации )) И тестируется хорошо. И не надо инжектировать зависимости в домен. В то же время сам домен может выполнять простейшую логику, которая не связана с внешним миром.
Тоже думал, как же выполнять в модели логику, которая зависит от других объектов? Оказалось, что design-pattern.ru/patterns/service-layer.html будет лучшим решением в этой ситуации )) И тестируется хорошо. И не надо инжектировать зависимости в домен. В то же время сам домен может выполнять простейшую логику, которая не связана с внешним миром.
0
Sign up to leave a comment.
Внедрение зависимостей в сущности Doctrine при помощи Symfony Dependency Injection Component