между прочим, последний вариант (
Jelly) мне пока что нравится больше всего.
+ довольно простое описание моделей
+ есть relations (1:1, 1:n, n:n). Собственно говоря для этого мне и нужен ORM
+ Он легкий. Всего лишь 96 кб*.
+ в нем нет стремных validators, i18n, sfYaml, … . Я не нуждаюсь во всем этом, часть из этого есть в BL, совершенно нет желания дублировать валидаторы. А чего нет - сам добавлю, чай не маленький.
+ какой-то чувак переводит доку на русский
- загадочная иерархия классов. Есть абстрактный класс и его тут же наследует еще один класс, который пустой. Впервые вижу такое. Хотя наверно неспроста так сделано
- нет эмуляци неймспейсов (ORM вместо my_ORM). По всей видимости это реально решить благодаря предыдущему пункту.
- самое хуевое: он зависим от fw Kohana 3 версии. Сама Кохана для меня в общем-то неведома, я понятия не имею что там и как, какой минимальный комплект классов Коханы нужен для запуска этого ORM.
* - сколько КБ кода утянет эта Кохана - х3.
- сама эта ORM'ка "захардкожена". Я хочу прикрутить туда свой Database вместо кохановского, но не могу.
- в именовании файлов с классами нарушается нотация PEAR. Но в принципе это ерунда
- он далеко не идеален. Нет toArray (превед ZF, Magento), toXml, toJson, toYaml (ага, сам себе противоречу). Ну ладно нету, но и добавить это проблематично. Было б что-то типа ORM::registerExport(new My_ORM_Export_Xml) и по __call это делали б.
- есть $user->remove('posts', 1); но нет $user->remove('posts', array(1, 2, 30));
- ладно remove, но я не нашел insertMultiple
Спустя 151 сек.
еще из минусов
- defined('SYSPATH') or die('No direct script access.'); - меня раздражает вот такая строка в начале каждого файла