![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 27.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
PHP4 tak wiec mam obiekt "acs" ktory posiada metode "acs_record". odwolujac sie do tej metody poprzez acs::acs_record(). wszysto jest ok i super dziala. Metoda acs_record zwraca wartosci true or false. Mam takie pytanie czy jest mozliwosc odwolania sie do jakiejsc zmiennej wewnatrz metody "acs_record" stworzonej operatorem "this"? mysle o czyms takim
pozdrawiam toth |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
acs::acs_record() to jest wywołana statyczna metoda klasy a nie obiektu. Żeby użyć $this musi istnieć obiekt. Także jak wywołujesz coś staycznie, to nie możesz używać $this bo nie ma gwarancji że obiekt istnieje
-------------------- "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: 35 Pomógł: 0 Dołączył: 27.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzieki nospor, wlasnie to chcialem wiedziec
pozdrawiam toth |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Czytalem o takim rozwiązaniu:
w tej metodzie sprawdzasz czy $this nalezy do klasy tej metody jesli tak -- to funkcja zostala uruchomiona w sposob niestatyczny i mozesz uzywac $this, jesli nie -- to w sposob statyczny. Dlatego wlasnie w php5 wprowadzono slowo static. Nie sprawdzalem go bo php5 rulez ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 27.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
jak to zrobic?
![]() jeszcze czegos takiego nie uzywalem. nie wiem jak sprawdzic czy $this nalezy do klasy tej metody :< |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
można tak :
isset($this). jesli zwróci true, to wiesz ze dana metoda została wywolana z obiektu czyli $objekt->metoda(); jesli zwróci false to metoda zostala wywolana statycznie czyli klasa::metoda() -------------------- "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: 35 Pomógł: 0 Dołączył: 27.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
kurcze chyba popelnilem maly blad
![]() rozumiem ,ze piszac o $this nie mowimy o zmiennej zarezerwowanej, ktora nazywa sie tak samo ($this). nie zauwazylem ,ze w przykladzie uzylem pomylkowo tej zmiennej. rozumiem, ze np w tym przyladzie: $zmienne = acs::acs_record(); macie na mysli isset($zmienna) tak ? ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie, chodziło mi dokładnie o zmienną $this, która dotyczy obiektu
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:54 |