Доктрина регенерирует модели из yml только базовые модели? - PullRequest
1 голос
/ 30 марта 2010

Мне интересно, есть ли способ справиться с этим более элегантно.

После генерации «основных» моделей и базовых моделей из yml-файлов я впервые добавляю в арендованное дополнение базовую модель к «основной» модели, например:

include_once 'generated/BaseBlog.php';

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

разве нет способа просто создать базовые модели и не трогать основные модели? Или как вы, ребята, справляетесь с этим?

1 Ответ

1 голос
/ 30 марта 2010

Doctrine только перезаписывает модели в сгенерированной папке /, но не затрагивает модели, производные от базовых * моделей.

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

Вы можете использовать консервативную автозагрузку следующим образом:

Doctrine_Core::loadModels(APPLICATION_PATH . '/models', Doctrine_Core::MODEL_LOADING_CONSERVATIVE);

Это должен работать и с агрессивной загрузкой, но в настоящее время в некоторых операционных системах Doctrine пытается загрузить дочерние классы раньше базовых классов, что приводит к ошибкам.

...