Заинтересовал вопрос использования ORM в проектах. Собственно, не совсем ясно, зачем применять именно ORM для работы с данными, в чем основные преимущества?
Если я правильно понимаю, то ORM позволяет сделать объектную проекцию модели данных. Например, с помощью проекции ( Таблица <-> PHP-Объект )
Соответственно, насколько я могу судить, все фичи такого подхода обусловлены только тем, что этот объект можно наследовать, и тем самым расширять функционал новыми методами по работе с данным объектом.
Допустим, в БД есть таблица с описанием велосипедов. ORM предполагает наличие прототипа (класса) описывающего эту таблицу, чтобы сформировать объект (Bykes). Далее, допустим, мы унаследуем этот класс для некоторого класса с методами относящимися к обработке данных именно этой таблицы: допустим метод Mountain() будет выбирать горные велосипеды из таблицы.
Итоговая конструкция: $Bykes->Moutain();
Но я никак не могу понять, в чем реальная польза от такого подхода?
Чем использование ORM лучше, чем использование динамического создания объектов через адаптер к БД с динамическим подключением необходимого функционала?
Иными словами, чем ORM лучше, чем способ создания объекта той или иной таблицы "на лету" ?
Спустя 4 часа, 19 минут, 36 секунд (23.10.2011 - 09:26) T1grOK написал(а):
ORM - более абстрактна, чем обертка над БД. Более ясно и удобно использовать связи между таблицами. C другой стороны, чем сложнее запрос, тем тормознутей выполнение ORM конструкций.
Спустя 7 часов, 52 минуты, 45 секунд (23.10.2011 - 17:19) XCoder написал(а):
>>> Более ясно и удобно использовать связи между таблицами
Не могли бы вы привести некоторые абстрактные конструкции, хотя бы даже в придуманном псевдокоде, чтобы можно было немного более конструктивно представить удобство использования связей между таблицами?
Не могли бы вы привести некоторые абстрактные конструкции, хотя бы даже в придуманном псевдокоде, чтобы можно было немного более конструктивно представить удобство использования связей между таблицами?
Спустя 1 час, 29 минут, 6 секунд (23.10.2011 - 18:48) caballero написал(а):
ORM - для задротов, думающих что могут обойтись без изучения SQL запросов.
Можно еще с оговорками понять использование таких библиотек в серверах приложений на яве но в PHP это только лишние тормоза.
Можно еще с оговорками понять использование таких библиотек в серверах приложений на яве но в PHP это только лишние тормоза.
Спустя 55 минут, 33 секунды (23.10.2011 - 19:43) Семён написал(а):
Крайне не люблю ORM.
Спустя 2 часа, 36 минут, 36 секунд (23.10.2011 - 22:20) XCoder написал(а):
Какие на ваш взгляд могут быть в данном случае удобные альтернативы для работы с базами данных?
Спустя 3 минуты, 57 секунд (23.10.2011 - 22:24) Семён написал(а):
XCoder
QueryBuilder.
QueryBuilder.