Class :: DBI-подобная библиотека для php? - PullRequest
10 голосов
/ 12 августа 2008

Я унаследовал старую хрустящую PHP application, и я хотел бы преобразовать ее во что-то более приятное, но постепенно. В CPAN perl существует ряд классов вокруг Class :: DBI, которые позволяют вам использовать строки базы данных в качестве основы для объектов в вашем коде, при этом библиотека генерирует accessor methods и т. Д., В зависимости от ситуации, но также позволяет добавлять дополнительные методы. .

Кто-нибудь знает что-то подобное для PHP? Особенно то, что не требует массового принятия "фреймворка" ... бонусных баллов, если он работает и в PHP4, но, честно говоря, я хотел бы иметь еще одну причину для отказа от этого. : -)

Ответы [ 5 ]

4 голосов
/ 12 августа 2008

Теперь он не работает, но phpdbi , возможно, стоит посмотреть. Если вы готовы отпустить некоторые из ваших предостережений (каркасных), я обнаружил, что Doctrine - довольно удобный способ доступа к БД в PHP. В любом случае, стоит провести расследование.

1 голос
/ 09 сентября 2008

Я пытаюсь получить больше отзывов о моих собственных проектах, поэтому я предлагаю свой вариант ORM: ORMer

Примеры использования здесь

Вы можете вводить его поэтапно, для этого не требуется переход на MVC, и для этого требуется очень мало настроек.

1 голос
/ 28 августа 2008

Class :: DBI является ORM (Object Relational Mapper) для perl. Поиск "PHP ORM" в Google дает несколько хороших результатов, включая Doctrin , с которым мне повезло. Я бы начал там и продолжил свой путь.

0 голосов
/ 13 августа 2008

Как насчет MDB2 из груши?

Предоставляет общий API для всех поддерживается RDBMS. Основное отличие для большинства других пакетов абстракции БД является то, что MDB2 идет гораздо дальше обеспечить мобильность.

Кстати: @GaryF, что за странные атрибуты заголовка у ваших ссылок? Вы добавили их или они добавлены SO?

0 голосов
/ 12 августа 2008

Правильнее всего получить доступ к базе данных через уровень абстракции, например, если вы измените свою СУБД или то, как вы реализовали этот доступ, вам нужно всего лишь изменить этот уровень, пока все остальное ваше приложение остается неизменным.

Чтобы сделать это, чтобы ваше приложение не знало, как обращаться с базой данных, ваш уровень абстракции для доступа к БД должен быть реализован такой средой, как ADODB .

Все файлы, относящиеся к этому слою, должны находиться в подкаталоге:

  • / * 1010 шума *

В эти каталоги вы поместите все ваши файлы .php.inc, которые содержат общие методы для доступа к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...