Doctrine 2.0 предварительно генерирует классы моделей, как Propel 1.5? - PullRequest
4 голосов
/ 10 мая 2011

Propel может генерировать классы на основе файла схемы. Некоторые из полученных классов:

  • Объект (например, пользователь)
  • Пэр (например, UserPeer)
  • Запрос (например, UserQuery)

Класс объекта (Пользователь) включает в себя методы получения и установки для всех атрибутов. Э.Г.

$user = new User();
echo $user->getEmailAddress();

Мой вопрос: может ли Doctrine 2.0 сделать это? Создает ли он базовые классы и добавляет ли он методы получения и установки?

1 Ответ

1 голос
/ 10 мая 2011

Да, Doctrine 2 действительно поддерживает генерацию схемы для класса, я предпочитаю YAML, а не XML, так что вот ссылка, охватывающая этот http://www.doctrine -project.org / docs / orm / 2.0 / en / reference / yaml-mapping.html

И затем с помощью инструментов командной строки Doctrine вы можете взять предоставленные файлы YML и сгенерировать http://www.doctrine -project.org / docs / orm / 2.0 / en / reference / tools.html

Что касается вашего второго вопроса, по большей части в Doctrine действительно есть простые методы установки / получения, но они называются методами доступа в терминологии Doctrine.

Обновление:

Для полностью сгенерированных классов приведите таблицу типа

user:
   id: integer   
   name: string
   active: bool

это будут $ user-> getName () и $ user-> setName ("Joe"), $ user-> setActive (true) и $ user-> getActive ();

Как он генерирует эти промежуточные классы, можно понять, проверив этот файл в Doitrine 2 git repo https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Tools/EntityGenerator.php

...