Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 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
 
Start new topic
Odpowiedzi (1 - 7)
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
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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? (IMG:http://forum.php.pl/style_emoticons/default/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()
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 (IMG:http://forum.php.pl/style_emoticons/default/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 ? (IMG:http://forum.php.pl/style_emoticons/default/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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 01:01