Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> funkcja jako zmienna nie dziala, zmienna ktora jest polem w klasie nie dziala
boocheck2
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.07.2010

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


  1. <?
  2.  
  3. class Klasa{
  4. var $zmienna;
  5. }
  6.  
  7. function funkcja(){
  8. print("wywoluje sie!!!");
  9. }
  10.  
  11. $mojaInstancja = new Klasa;
  12. $mojaInstancja->zmienna=funkcja;
  13. $mojaInstancja->zmienna();
  14. print("dlaczego to nie dziala?");
  15.  
  16.  
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


boocheck2 -> a nie zauważyłeś, że istnieje zasadnicza różnica między Twoim zapisem:

  1. $a->foo();


a zapisem z dokumentacji:

  1. $a->$foo()


Ten jeden znak dolara ma kolosalne znaczenie. W dokumentacji jest jasno i wyraźnie napisane, że nazwa funkcji/zmiennej może być odczytana wyłącznie z innej zmiennej, a pole klasy czy element tablicy zmienną nie jest, lecz co najwyżej elementem zmiennej o typie złożonym.

Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 15:27