![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 1 Dołączył: 13.04.2003 Skąd: z ławki przed blokiem Ostrzeżenie: (0%) ![]() ![]() |
Witam
wiec sprawa taka jestem troszke zielony jeszcze w programowaniu obiektowym, tzn w sumie juz wiem sporo, ale jeszcze mało ;p dobra sprawa jest taka mam dosc sporo klase do zarzadzania produktami i wielu miejscach na stronie potrzebuje wybrac tylko 1 produkt i go wysiwtlic wiec stworzyłem sobie metode getOne($id) no ale zała klasa w tym przypadku nie jest mi potrzebna w wiekszej czesci strony potrzebuje tylko tej jednej metody dogrzebałem się gdzies aby wyolac to w ten sposob:
tylko mam tutaj problema Cytat Fatal error: Using $this when not in object context in /home/sztucer/public_html/test/lib/pro/pro.class.php on line 19 no własnie problem z $this tutaj konkretnie z $this -> db jest to połaczenie z baza przekazywane do konstruktora:
moze mi ktoś powiedziec jak to objesc ;> oczywiscie przy zalozeniu ze funkcionowanie calosci nie zmieni sie w kilku miejsach ptorzebuje wywolac metode getOne wewnatrz pozostałych metod obiektu:) mam nadzieje ze w miare jestno opisałem problem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdr |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W metodach statycznych nie możesz odwoływać się do pseudozmiennej $this -> poczytaj o self::$zmienna. Ale i tak self::$zmienna odniesie się tylko do zmiennych statycznych... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Obejść jest wiele. Najlepiej wydziel z klasy metody do łączenia z bazą i podaj je do metody statycznej przez argument ;-) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 22.06.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Nie ma różnicy czy odwołasz się do metody statycznej, bez tworzenia obiektu danej klasy przez:
Czy utworzysz obiekt i wowołasz jego metode
I tak kod całej klasy zostanie załadowany. Właściwie nie wiem co chcesz zyskać? Jeżeli już chcesz się korzystać z metod statycznych to muszą one korzystać ze zmiennych statycznych. Odwoływać się do nich musisz przez self::$zmienna a nie $this->$zmienna. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 1 Dołączył: 13.04.2003 Skąd: z ławki przed blokiem Ostrzeżenie: (0%) ![]() ![]() |
hugo_amv no włąsnie szukam rozwiazania jak nie ładowac całej kalsy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Ten post edytował AcidBurnt 14.04.2006, 15:10:21 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 0 Dołączył: 22.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(AcidBurnt @ 2006-04-14 14:09:57) hugo_amv no włąsnie szukam rozwiazania jak nie ładowac całej kalsy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) yy.. to tak jakbyś chciał załadować pół funkcji.. albo wywołać pół komendy.. Czy jesteś pewien, że wiesz o czym piszesz? Nie możesz includować połowy pliku w php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:33 |