2008-08-11 14 views
10

Mam odziedziczył stary chrupiący PHP application, i chciałbym przekształcić go w coś nieco ładniejszego do czynienia, ale w sposób stopniowy. W CPAN Perla istnieje szereg klas wokół klasy: DBI, które pozwalają na używanie wierszy baz danych jako podstawy dla obiektów w kodzie, z biblioteką generującą odpowiednio accessor methods itd., Ale także pozwalającą na dodawanie dodatkowych metod.Class :: DBI-like biblioteka dla php?

Czy ktoś wie coś takiego w PHP? Szczególnie coś, co nie wymaga hurtowego przyjęcia "frameworka" ... punktów bonusowych, jeśli działa też w PHP4, ale szczerze mówiąc, chciałbym mieć jeszcze jeden powód, żeby to zrzucić. :-)

Odpowiedz

3

Jest już nieistniejący, ale prawdopodobnie warto go obejrzeć pod numerem phpdbi. Jeśli jesteś gotów puścić niektóre z twoich zastrzeżeń (framework), odkryłem, że Doctrine jest całkiem schludnym sposobem dostępu do baz danych w PHP. I tak warto to zbadać.

0

Właściwym rozwiązaniem jest uzyskanie dostępu do bazy danych za pośrednictwem warstwy abstrakcji w taki sposób, że w przypadku zmiany RDBMS lub sposobu zaimplementowania tego dostępu wystarczy zmodyfikować tę warstwę, podczas gdy cała pozostała część aplikacji pozostanie nietknięta.

Aby to zrobić, aby uwolnić swoją aplikację od wiedzy o tym, jak radzić sobie z bazą danych, twoja warstwa abstrakcji dla dostępu do bazy danych musi być zaimplementowana przez framework, taki jak ADODB.

Wszystkie pliki związane z tą warstwą musi znajdować się w podkatalogu:

  • /ado

W tych katalogów będzie można umieścić wszystkie swoje .php.inc plików, które zawiera ogólne metody dostępu do bazy danych.

0

Co powiesz na MDB2 z gruszki?

Zapewnia wspólny interfejs API dla wszystkich obsługiwanych RDBMS . Główna różnica do większości innych pakietów abstrakcji DB jest taka, że ​​MDB2 idzie o wiele dalej do , zapewniając przenośność.

Przy okazji: @GaryF jakie są dziwne atrybuty tytułu, które mają twoje linki? Czy dodałeś je, czy zostały dodane przez SO?

1

Próbuję uzyskać więcej informacji zwrotnej na własnych projektach, więc będę Zaproponuj zabiorą ORM: ORMer

przykłady wykorzystania są here

Można to faza, to nie robi wymagać przyjęcia MVC i wymaga bardzo niewielkiej konfiguracji.