![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 247 Pomógł: 11 Dołączył: 5.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli mam klasę o nazwie Polaczenie z prywatnym konstruktorem do połączenia z bazą danych, a chciałbym używać PDO (PDO umożliwia komunikację z wieloma bazami danych) to przez to, że mam prywatny konstruktor to nie mogę dziedziczyć po klasie PDO, bo inaczej dostaję błąd:
Access level to Polaczenie::__construct() must be public (as in class PDO) A ja chcialbym moc wysylac zapytania do bazy danych przy uzyciu funkcji prepare() pochodzacej z klasy PDO w ten sposob:
Ale dostaje blad: Call to undefined method Polaczenie::prepare() Bo ta metoda jest w klasie PDO. Co mam zrobic ? Moglbym caly powyzszy kod wstawic do specjalnie utworzonej w tym celu metody w klasie Polaczenie i wtedy byloby ok, ale co ja mam tworzyc dla kazdego inserta oddzielna metode w klasie Polaczenie ? To jak mialbym inserty wykonywane na tabelach np. ksiazki, autorzy itd. ladowac je wszystkie do klasy Polaczenie ? Bez sensu. Co powinienem zrobic ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Nie będziesz miał pięciu... Przecież skoro pobierasz uchwyt przez singleton, to zwracasz REFERENCJĘ, a nie klonujesz obiekt.
A tak w ogóle, to w Twoim przypadku może (nie próbowałem, na razie tylko klepane z palucha) byłoby najlepiej zrobić podobnie, jak singleton (ale nie tak samo (IMG:style_emoticons/default/winksmiley.jpg) ):
I wciąż mamy jedno połączenie, modeli tworzysz ile chcesz. :] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 16:08 |