Проверьте информацию о классе Doctrine_Table .
К вашим 3 сгенерированным файлам:
BaseXXX.php:
Содержит определение ваших моделей, так что Doctrine может обрабатывать операции с базой данных. Этот класс сообщает ORM, какие столбцы доступны, их типы, полезные функции (например, Timestampable, ...) и многое другое. Вы не должны помещать свои собственные данные в этот файл, поскольку они будут перезаписаны при повторном создании моделей из базы данных.
XXX.php:
Ваша актуальная модель. Это не будет воссоздано с каждым новым процессом генерации, и вы сохраните большую часть своего кода. При необходимости вы можете перезаписать функции BaseXXX.php.
XXXTable.php:
Проверьте мою ссылку сверху, это дает вам доступ к самой таблице. Лично я не использую его так часто, так как большую часть кода помещаю в XXX.php.
Конечно, вы можете создавать новые классы и использовать их внутри вашего файла XXX.php. Чтобы действительно что-то делать с данными (сохранять, читать, ...), вам нужны классы, которые связаны (расширены) из классов Доктрины.
edit: также отметьте this на более подробной информации с расширением из класса Doctrine_Table