Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 1 Dołączył: 5.02.2007 Ostrzeżenie: (0%)
|
Witam.
Mam sobie dwie klasy (to tylko przykład):
I teraz jeśli zrobię tak:
To wyświetla mi obiekt $controller. Czyli zmienna $this jest dostępna w metodzie metoda. Więc co jest grane? Gdzie ta cała teoria o zasięgu zmiennych? Jak zrobić żeby zmienna $this była dostępna tylko i wyłącznie w obrębie obiektu/klasy i nie wędrowała po metodach innych klas. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
To popatrz na kod i sam oceń... Masz zwykła metodę w klasie Klasa, czyli powinieneś do niej się odnosić Klasa->metoda() a co zrobiłeś? Klasa::metoda() :0 Czyli wywołałeś niestatyczną metodę w sposób statyczny i na to się zbulwersował interpreter pisząc, że nie ma takiej metody statycznej i użycie Klasa::metoda() jest niepoprawne. Zmień w klasie Controller to tak, by najpierw utworzyć normalny obiekt Klasa i dopiero potem się pchać z Klasa->metoda(), albo zmień w Klasa metodę na statyczną i zamiast this użyj self. Jak widzisz są różne drogi na osiągnięcie tego samego celu.
Innymi słowy: "Choć myślisz, że rozumiesz, to jednak nie rozumiesz co robisz." (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
|
tomahawk Problem z $this 4.08.2010, 10:50:06
Spawnm masz błąd, daj error_reporting(E_ALL|E_STRICT); a ... 4.08.2010, 10:56:01
tomahawk Mam tylko coś takiego:
CytatStrict Standards: Non-... 4.08.2010, 11:12:55
zelu Wywołujesz statyczną metodę, a nie zadeklarowałeś ... 4.08.2010, 11:15:13
tomahawk No tak. Ale jak zadeklaruję jako statyczną to będz... 4.08.2010, 11:24:52
Spawnm Metodę statyczną możesz wywołać jak nie statyczną. 4.08.2010, 11:36:12
thek Nic nie może iść jednocześnie w prawo i w lewo. W ... 4.08.2010, 11:40:26
tomahawk To jak w końcu? Jak będę wywoływał metodę statyczn... 4.08.2010, 11:50:03 
phpion Cytat(tomahawk @ 4.08.2010, 12:50:03 ... 4.08.2010, 11:53:50 
zelu Cytat(tomahawk @ 4.08.2010, 12:50:03 ... 4.08.2010, 12:04:13
Spawnm CytatTo jak w końcu? Jak będę wywoływał metodę sta... 4.08.2010, 11:53:36
zelu Cytatw moim przykładzie nie było static
Ale było ... 4.08.2010, 11:58:11
tomahawk Cytat(Spawnm @ 4.08.2010, 12:53:36 ) ... 4.08.2010, 11:59:37
tomahawk Nie widzę sprzeczności.
Chodzi o informację w met... 4.08.2010, 12:07:44
tomahawk Ech... rozumiem. Po prostu wygodnie mi było wywoły... 4.08.2010, 12:17:47 ![]() ![]() |
|
Aktualny czas: 10.06.2026 - 12:34 |