Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

Класс::DBI - это ORM (Объектно-реляционный картограф) для perl.Поиск по запросу "PHP ORM" в Google дает несколько хороших результатов, в том числе Доктрина, с которым мне повезло.Я бы начал с этого и проложил тебе путь наверх.

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

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

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

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

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

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

  • /адо

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top