Как обновить созданные сущности yml, если они расширены с помощью бизнес-логики? - PullRequest
0 голосов
/ 07 июня 2011

когда вы выполняете doctrine: generate: сущности с набором yml-файлов, содержащих ваше сопоставление отношений, все классы сущностей генерируются автоматически.

Когда вы настраиваете свои yml-файлы и восстанавливаете классы сущностей, они перезаписываются (а старые копируются).

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

В doctrine2 я не вижу этих базовых классов и не хочу корректировать свои сгенерированные классы, потому что я не смогу обновить свою модель данных в моих файлах yml.

Что такое подход Doctrine2? Должен ли я вручную наследовать от моих сгенерированных классов сущностей, чтобы добавить бизнес-логику? Может ли доктрина корректировать класс Entity и сохранять дополнительные изменения (с помощью какого-то алгоритма различий)? Генерация сущностей используется только один раз для генерации классов, и все ли изменения модели данных должны быть реализованы вручную в самом классе?

1 Ответ

1 голос
/ 08 июня 2011

В Doctrine2 вы программируете свои сущности по своему усмотрению (с соответствующими полями, геттерами и сеттерами, настраиваемой бизнес-логикой и т. Д.), А затем создаете отображения yaml (или xml, аннотации и т. Д.).Затем Doctrine2 генерирует таблицы DB, которые соответствуют вашим сопоставлениям, поэтому ваши сущности всегда сохраняются.

Я предлагаю вам взглянуть на Краткое руководство по Doctrine2 , оно дастдовольно хорошая идея подхода Doctrine2 ORM.

...