Привет! Есть уже кое-какой опыт Doctrine 2. Штука акуенная! Может сохранять любые объекты, которые не обязательно наследуются от какого-то специального класса. Может Работать с чужой базой, переводя строки в php-шные объекты, если база хоть более менее была по правилам состряпана. Все шаблоны проектирования "взрослых" орм учтены. Есть Юнит оф ворк, репозитории, квери и квери билдеры. Уже наклепал своих репозиториев, все расширяется легко и приятно. Кто пользовался Hibernate или NHibernate(я только второй), учить не придется вообще ни чего. Только синтаксис немного другой и все. Всем доволен бага пока ни одного не заметил. Сколько нас на Doctrine 2 тут? Отзовитесь...
отнекропостю. Мы пользуемся ей около полугода уже. В принципе полет нормальный, но за последний месяц всплыло 2 довольно критичных бага. Один я уже зарепортил, но никто не телится его исправлять пока что. Второй буду репортить. Самому поправить нереально, там с гидраторами или идентити мэп проблемы.
Ух ты какая тема всплыла! Я тоже около полугода и больше. Пользуюсь только основными возможностями. Из продвинутых только наследование внутри одной таблицы. Времени она мне сэкономила еще ан полгода! Единственное, я когда начинал писать, она была еще бета, поэтому всякие сложные вещи на ней даже не пытался делать. Обошелся дэкуэлами, персистами и файндами. Из того, что использую, летает все на ура. Кстати есть потребность уже очень давно в деревьях и так называемых аудит логах. Есть какой-нить опыт в этом?
хе-хе, а я думал ты форум не посещаешь. Мы пользуемся версией 2.1, в общем-то сразу без проблем обновились на нее, как только вышла. На 2.2 перейти наверно будет тяжелее. С деревьями - да, опыт есть. У нас территориальная структура в виде дерева + STI http://www.doctrine-project.org/docs/or ... nheritance (Country, Region, City, District). Для деревьем используем Closure table https://github.com/l3pp4rd/DoctrineExtensions/issues/1 (эт я кстати первый тикет создал), тут все в принципе отличненько. Для логов у этого же товарища имеется расширение http://gediminasm.org/article/loggable- ... -doctrine2 В общем я ни минуты не жалею, что выбрал доктрину2, а не Jelly или RapidDataMapper. Тикеты мои кстати починили http://www.doctrine-project.org/jira/browse/DDC-1492 http://www.doctrine-project.org/jira/browse/DDC-1436 Из относительно-экзотического: я писал расширение, которое добавляет возможность использовать ValueObject Coordinate(latitude, longitude) - после загрузки сущности создает его, перед сохранением в базу преобразовывает его в стандартные float + маппинг для таблиц сам делает. Ну и функции для DQL - нахождение даты от колонки, и дистанции между двумя точками
вообще вот чего реально не хватает - динамических фильтров и коллекций (коллекции связанных сущностей - эт не то).
доктрина 2.2 ваще зверь будет. Столько всяких полезных штук добавили. Правда боюсь, что первое время она будет очень нестабильна
Интересно. Ну раскеж, что там. Меня больше всего интересует упорядоченные коллекции, т.е. чтоб как в оригинальных Hibernate в маппинге можно было указать колонку index, в которой хранится позиция элемента в коллекции, и выборка коллекций происходила согласно этой колонке.
есть такая тема в 2.1 http://www.doctrine-project.org/docs/or ... #onetomany параметр indexBy - использовать в качестве ключа колонку аннотация OrderBy - сортировать по колонке про 2.2 попожже расскажу
Спасибо за наводку. Прикрутил этот плагин к своему проекту. В принципе даже в таком виде доволен. Работает он, к сожалению, на 50% потому что не умеет следить за коллекциями ассоциаций. Как так написали, не понятно? Еще немного замудрено подключается к доктрине. Пришлось покопать интернет, чтобы понять куда делись классы аннотаций. Их, оказывается, надо загружать вручную, им запрещено загружаться через автолоад. Если допишут работу с коллекциями, будет зачет.