![]() |
![]() ![]() |
![]() |
![]()
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: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Wzorzec Fabryka:
---- edit: lub tez tworzysz jedna metode: public function getDBConnection( $db_type ) i na podstawie db_type zwracasz odpowienie obiekty. |
|
|
![]()
Post
#3
|
|
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 |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
NIE DA SIE! To sa podstawy OOP
"new Database()" ZAWSZE da ci obiekt klasy DataBase, niewazne co bys w srodku konstruktora robil. A czemu nie mozesz tej fabryki utworzyc? |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Wiem ze to podstawy OOP, dopiero sie ucze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Chcialem sie po prostu dowiedizec, czy jest jakis myk zeby to zrobic. A po co? No wlasciwie to tylko po to, zeby sie dowiedziec hehe. Dzieki za odpowiedz!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:11 |