![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 24.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie!
Od jakiegoś czasu próbuję opanować OOP w PHP i idzie mi, nie przymierzając, słabo. Mój problem polega na tym, że nie potrafię z jednej klasy odwołać się do metod innej. Nie wiem, czy to nie jest przypadkiem durnota jakaś i mój błąd w próbie myślenia obiektowo... proszę o pomoc w każdym bądź razie. Mam klasę MySqlEng(). Konstruktor tej klasy tworzy połączenie z bazą danych i zapisuje uchwyt połączenia w prywatnej zmiennej klasy. Dalej mam 4 metody: selectQuery, updateQuery, insertQuery i deleteQuery, które przygotowują w prywatnej zmiennej $query string, który metodzie doQuery() służy do wykonania odpowiedniego zapytania w bazie danych. Dochodzi jeszcze metoda fetchResults(), która pozwala na przewijanie rekordów uzyskanych w odpowiedzi na zapytanie. Standardowo używam tej klasy tak:
Próbuję teraz złożyć klasę pagesSupport(), której zadaniem będzie: dodawanie stron do bazy danych, ich edycja i zmiana, oraz wyciągnie z bazy danych o odpowiedniej podstronie i wyswietlanie jej na ekranie. Zwykłe użycie wewnątrz metody tej klasy metody $sql->selectQuery() wywołuje błąd... Jak skorzystać z klasy MySqlEng() wewnątrz klasy pagesSupport()(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Podaję też kod klasy MySqlEng():
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 12 Dołączył: 9.10.2008 Skąd: Tricity.Rumia() Ostrzeżenie: (0%) ![]() ![]() |
... nie potrafię z jednej klasy odwołać się do metod innej. No niestety tak się czasem zdarza, że w schemacie klas są pomiędzy nimi strzałki :] I wtedy tak jak koledzy pokazali przekazujemy referencję do obiektu w konstruktorze lub innej meodzie importującej ( nie jest to oczywiście jedyne rozwiązanie ale jest najlepsze) Co do rejestru ... chciałem tylko powiedzieć, że w zasadzie nie różni się od globali ale czy BD różni się od globali ? Nie - no właśnie dlatego tworzymy warstwę danych aby wszystko co z nimi związane było "gdzieś" a nie wszędzie :] @plurr oprócz Javy na świecie jest jeszcze jeden język: C# (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) BTW PHP nie jest OO :[ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 09:59 |