У меня есть несколько объектов (Doctrine 2), которые имеют похожие поля, например foo
, value
и datetime
. Я хотел бы воспользоваться этим и определить пользовательский FooEntityRepository
с общими методами.Как абстрагироваться от доменов Doctrine 2?
Обычай EntityRepository
легко создается, но как один заставить объект с использованием этого хранилища, чтобы иметь foo
, value
, datetime
поля? Возможно, одно из объектов хранит то же значение не в foo
, а bar
. Я хочу ожидать этого.
Я мог бы определить интерфейс с getFooFieldName
, getValueFieldName
, что объекты, о которых идет речь, должны реализоваться, но это путь? Должен ли я в этом случае допустить, чтобы репозиторий «оценил», если функции возвращают действительные имена полей?
Благодарим за отзыв. В этом случае проблема заключается в том, что EntityRepository больше не является общим. Такие методы, как 'getFooFieldName' в репозитории, все же должны быть проверены временем выполнения. Кроме того, я создаю высокую связь между Entity и Repository, что я не думаю, что это выгодно. – user228395