![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pewien problem z klasami i funkcjami, otóż mam klasę do wykonywania zapytań itp:
i plik z różnymi funkcjami wywoływanymi ze skryptu np:
Moje pytanie brzmi, dlaczego wywala mi błąd gdy w funkcji "login" próbuję użyć "$db->query", zamiast tego muszę używać normalnie mysql_query i czy jest jakis sposób aby to obejśc lub wykonać? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 9 Dołączył: 19.11.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Oraz nie dodałeś co to za błąd Ci wywala.
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Oraz nie dodałeś co to za błąd Ci wywala. Parafrazując autora tematu:To raczej logiczne (IMG:style_emoticons/default/wink.gif) @indexx nie pisz, że coś jest logiczne a coś innego nie, skoro dla Ciebie logicznie nie jest podanie dokładnie komunikatu błędu |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Już daję, miał być wklejony pod kodem, przepraszam za błąd:
Kod Fatal error: Call to a member function query() on a non-object in (..) A kod odpowiedzialny: Kod $db->query("SELECT (...) LIMIT 1");
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
No i okazuje się, że wystarczyło pomyśleć.
Dzięki wielkie za pomoc. Mam jeszcze pytanie czy lepiej teraz w każdej funkcji deklarować $db jako global i używać "$db->query", czy lepiej pozostać przy "mysql_query" |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Żadne z powyższych.
Google: wzorce projektowe. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok, skleciłem coś takiego:
rozszerzenie klasy:
Moje pytanie, czy tak na początek może to wyglądać? Czy za każdym razem muszę wywoływać
czy mogę równie dobrze na początku każdego pliku(raczej chyba nie ale wolę się spytać) Co mogę poprawić i jakie usprawnienia wprowadzić? Tylko proszę o konkretne uwagi bo kolega "erix" mnie wręcz załamał (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
kolega erix podał ci słowo kluczowe: wzorce projektowe. Jakbyś poczytał to byś nie tworzył takich potworków jak teraz (IMG:style_emoticons/default/tongue.gif)
Po db nie powinna dziedziczyć żadna klasa do wyświetlania. To są zupełnie różne twory nie powiązane ze sobą przez dziedziczenie. Poczytaj o wzorcu Rejestr, Singleton, poczytaj o MVC.
Powód edycji: [nospor]:
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Owszem czytałem ale jak na mój poziom to jest rzekł bym "zbyt zawiłe", a najlepiej uczę się na przykładach, które rozumiem.
Może ktoś mógł by mniej więcej pokazać mi jak przekształcić to co mam w coś funkcjonalnego i poprawnego żebym mógł zrozumieć co robię źle? |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Wzorce projektowe, konkretnie: MVC.
Jak tego nie zrozumiesz (głównego zamysłu), to zostaw programowanie. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 6.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dobrze omówione wzorce są w książce "PHP. Zaawansowane programowanie."
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 20.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za porady, książkę(inną), pożyczyłem już wczoraj za namową znajomego gdy opisałem mu sprawę.
A ogólne zarysy już łapię, teraz trochę po kombinować i nie będzie problemu. Cytat Jak tego nie zrozumiesz (głównego zamysłu), to zostaw programowanie. Chyba raczej nie miało by to sensu, to tak jakby murarz nie umiał kłaść tynków więc pracuje w MAcu. Jak czegoś nie rozumiem to staram się dwa razy bardziej więc nie będzie problemu (IMG:style_emoticons/default/smile.gif) Temat do zamknięcia. Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 22:01 |