Как я уже писал ранее, я планировал использовать собственные префиксы для каждого модуля (т.е. `blog_` для модуля Blog, `forum_` для Forum и т.д.). Однако все больше и больше открывается проблем.
Дело в том, что в методах Query Builder реализована автоматическая подстановка префиксов перед именами таблиц, но сам префикс берется из настроек текущего объекта Database, т.е. при взаимодействии двух моделей с разными значениями table_prefix результат будет тоже разным. А так как очень часто в ORM-моделях модулей идет взаимодействие с моделями ядра (не имеющими префиксов, например с User_Model) и между собой (разные префиксы), то придется отказаться от заманчивой идеи с короткими названиями моделей, заменив их более громоздкими (Forum_Posts вместо Posts, Forum_Assigned_Roles вместо Assigned_Roles и т.д.). Впрочем, есть и капля меда в этой бочке дегтя — взаимосвязь между базой данных и названиями моделей становится более очевидной, а по имени модели можно определить ее принадлежность к конкретному модулю.
Мне лично кажется, что сами разработчики не сильно используют префиксы, по крайней мере не «скрещивают» между собой модели с различными профилями БД…
Может тогда лучше попробовать Doctrine? Оно выглядит как более законченое решения для работы с базой. И вот манул по интеграции в соседнем блоге http://php-velosiped.org.ua/blog/interesting_methods/33.html
Да, я читал про нее. Честно говоря, я собираюсь потихоньку тестировать 2.4 и 3.0, там все совсем по-другому должно выглядеть.
А Вы доктрину не пробовали? ОРМ меня на данный момент прельщает своей простотой и элегантностью, доктрина вроде как более громоздкий «агрегат»