На работе пришлось столкнуться с очень не нравившейся мне ORM'кой собственного производства. Стал делать свою (ну не дурак ли, а? :)), наваял за 3 дня простенькую ORM, отображающую структуру таблиц на обьекты, не контроллируя типов. Итог получился примерно такой:
- класс базы данных (относледовался от mysqli, pdo использовать было нельзя)
- класс таблицы, хранящий в себе бд, и отвечающий за CRUD записей
- класс записи, перенаправляющий методы CUD классу таблицы