Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> obiekty ::, odwolanie do zmiennej
toth
post
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

  1. <?php
  2.  
  3. $test = acs::acs_record();
  4. echo $this->zmienna_wewnatrz_metody;
  5.  
  6. ?>


pozdrawiam
toth
Go to the top of the page
+Quote Post
nospor
post
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

Go to the top of the page
+Quote Post
toth
post
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
Go to the top of the page
+Quote Post
dr_bonzo
post
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 smile.gif


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
toth
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

Ostrzeżenie: (0%)
-----


jak to zrobic? snitch.gif

jeszcze czegos takiego nie uzywalem.
nie wiem jak sprawdzic czy $this nalezy do klasy tej metody :<
Go to the top of the page
+Quote Post
nospor
post
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

Go to the top of the page
+Quote Post
toth
post
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 27.12.2004

Ostrzeżenie: (0%)
-----


kurcze chyba popelnilem maly blad snitch.gif

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 ? snitch.gif
Go to the top of the page
+Quote Post
nospor
post
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

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 02:54