Абстракция базы данных PHP: определите модель один раз, сгенерируйте код, но работайте с простыми данными вместо активных объектов записи - PullRequest
1 голос
/ 22 марта 2011

Я ищу слой абстракции базы данных в будущих проектах PHP.До сих пор я работал с простыми SQL-командами и массивами, с одной стороны, с полнофункциональными ORM, такими как Doctrine, с другой.

Мне не нравится ORM, потому что большую часть времени задача состоит в том, чтобы получить список данных из базы данных и отправить его в механизм шаблонов.Оба прекрасно работают с массивами, и нет необходимости усложнять их, помещая данные в объект, когда шаблону нужен простой массив.Мне также не нравится подход на основе простого SQL, потому что для простых вещей CRUD я должен написать все сам, а также мне не нравится поддерживать две модели моих данных (одну в БД и другую в моем объекте доступа к базе данных).).

Есть ли что-то, что позволяет мне определять модель только один раз и генерировать для меня элементарные вещи (как в Doctrine), но что спасает меня от шаблона активной записи?

1 Ответ

1 голос
/ 22 марта 2011

БД - это не модель, это источник необработанных данных, и модель, в свою очередь, больше, чем просто поля данных, это также должны быть методы, которые влияют на данные модели.

Вам всегда нужно будет указывать программе, что вставлять и куда в БД, даже если вы используете библиотеку, которая инкапсулирует sql, или если вы пишете ее самостоятельно.

Если вы снова и снова пишете аналогичные команды «вставка» и «выбор», то самое время разработать некоторые функции или классы.

...