![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Cześć,
jestem w trakcie przeprojektowania strony, konfiguracji i innych rzeczy i zmagam się z problemem od ponad godziny. A mianowicie mam dwa pliki - DatabaseConnector.php w którym łączę się z bazami danych oraz PlayerPanel.php. Tak wygląda struktura pierwszego:
PlayerPanel.php
Chcę sobie wyświetlić statystyki gracza metodą echo $this->getPlayerInfo($this->nick);, ale wygląda, że to wcale nie działa. Próbowałem różnych metod, cały czas mój php twierdzi, że $this->pdo2 nie istnieje... błąd wygląda następująco: Fatal error: Uncaught Error: Call to a member function prepare() on null in .... 54 (pogrubiłem to w kodzie) Ten post edytował Dominator 10.06.2017, 18:34:24 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pomijajac fakt, ze twoje klasy sa do bani, to w klasie PlayerPanel nigdzie nie odpalasz connect() z rodzica to co sie dziwisz ze nia masz polaczenia?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A chociazby w tym, obiekt klasy bazodanowej przekazuje sie do innych obiektow a nie dziedziczy sie po tym
Plus cala masa innych rzeczy. A takich kwiatkow die(""); exit(); to juz nawet odechciewa sie komentowac ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
A chociazby w tym, obiekt klasy bazodanowej przekazuje sie do innych obiektow a nie dziedziczy sie po tym Plus cala masa innych rzeczy. A takich kwiatkow die(""); exit(); to juz nawet odechciewa sie komentowac ![]() Na siłę próbujesz czepiać się rzeczy, które nie dotyczą tematu. Wspomniałem w pierwszym poście, że jestem w trakcie przeprojektowania, dlatego też owe "kwiatki" zostaną zmodyfikowane, aczkolwiek dziękuję za krytykę. Po wywołaniu metody connect() w dalszym ciągu nie jestem w stanie wyświetlić informacji z bazy danych, co robię źle? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie czepiam sie na sile. Udzielilem ci odpowiedzi co robisz zle. Przy okazji tylko wspomnialem ze twoj kod jest do bani. To ty to ciagnales dalej nie ja
![]() Zrobiles connect()? Super, to moze pokazesz nam jeszcze jak to zrobiles, bo najwyrazniej nadal zle. ps: Cytat Wspomniałem w pierwszym poście, że jestem w trakcie przeprojektowania Takie rzeczy jak die i exit nie powinny sie pojawic w zadnej wersji tego kodu. Skoro pytales sie mnie, co jest zle, najwyrazniej nie zdawales sobie z tego nadal sprawy. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Nie czepiam sie na sile. Udzielilem ci odpowiedzi co robisz zle. Przy okazji tylko wspomnialem ze twoj kod jest do bani. To ty to ciagnales dalej nie ja ![]() Zrobiles connect()? Super, to moze pokazesz nam jeszcze jak to zrobiles, bo najwyrazniej nadal zle. ps: Takie rzeczy jak die i exit nie powinny sie pojawic w zadnej wersji tego kodu. Chwilę pomyślałem i wystarczyło dodać parent::__construct(); do klasy PlayerPanel, wygląda to tak:
Zaczęło działać i mogę kontynuować pracę, bardzo dziękuję za pomoc ![]() A tak btw - czytałem trochę o tym całym OOP (niedawno wróciłem do programowania) i trochę nie mogę zrozumieć co w moim kodzie jest nie tak... chodzi o metodę getPlayerInfo, która w jakiś nieprawidłowy sposób pobiera dane? Albo klasa bazodanowa sama w sobie jest błędnie napisana? Byłoby miło gdyby ktoś mnie pokierował co robię źle, nie jestem na tak świetnym poziomie jak zapewne połowa tego forum i cały czas się uczę ![]() Pozdrawiam |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Napisalem ci na samym poczatku co jest zle. No dobra, napisalem tylko dwa, jeden z nich byl
Cytat A chociazby w tym, obiekt klasy bazodanowej przekazuje sie do innych obiektow a nie dziedziczy sie po tym Poczytaj o wzorcu Dependcy Injection Bledow jest cala inna masa, ale popraw wpierw jeden. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 15:53 |