![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Witam!
Chcialem sie was o co spytac, poradzic. Chcialbym napisac klase macierzysta do obslugi baz danych np. o nazwie DataBase (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Rownoczesnie napisac osobne klasy typu MySQL, PostgreSQL. I teraz aby w samym skrypcie mozna bylo stworzyc obiekt DataBase z jakims parametrem wskazujacym na typ uzytkowanej bazy i w dalszej czesci uzywc metod zdefiniowanych dla konkretnego typu bazy. Czyli chodzi mi o to, zeby na poczatku w konkstruktorze chociazby DataBase podac parametr MySQL, przez co wywolanie np. $db->polacz odwolalby sie pozniej do metody 'polacz' z klasy MySQL, natomiast jesli poda sie PosgreSQL to zeby uzyl metody z tej klasy. Jak to ugryzc? Nie chodzi mi o napisanie klas tylko o samo jakby przekierowanie klas. Nie wiem jak to konkretnie okreslic. Tylko w tym problem, jak sie odwolac do klasy z metodami konkretnego typu bazy. // EDIT: zmienilem temat ale nie wiem czy ten jest w miare sensowny... Ten post edytował phpion.com 29.08.2006, 20:20:57 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
O, dzieki, przynajmniej wiem juz o czym czytac! 'Metody fabryczne' <faja> (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jeszcze raz dzieki!
EDIT: A czy nei da sie tego zrobic bez tworzenia klasy DBFactory? Probowalem wrzucic tworzenie nwoego obiektu do konstruktora DataBase podajac jako parametr nazwe bazy i na podstawie tego poprzez switch-case tworzyc obiekt. Jednak takie cos nie dalo ZADNEGO efektu. Nawet wstawienie echo 'dupa' nie pomoglo. Po prostu czy da sie zrobic tak zeby w efekcie mozna bylo operowac w sposob:
Podbijam post do gory (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A jednak nie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował phpion.com 30.08.2006, 08:37:06 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 19:52 |