Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Metody magiczne - przeciążenie metody
Forum PHP.pl > Forum > Przedszkole
fiasko
  1. <?
  2.  
  3. class Student {
  4. private $porperties = array();
  5.  
  6. function __get($property)
  7. {
  8. return $this -> $porperties[$property];
  9. }
  10. function __set($property, $value){
  11.  
  12. $this -> $porperties[$property] = "Autoset {$property} jako:".$value;
  13.  
  14. }
  15.  
  16. }
  17.  
  18. $st = new Student();
  19. $st -> name = "Kamil";
  20. $st -> roll = 16 ;
  21. echo $st -> name;
  22. echo $st -> roll ;
  23.  
  24.  
  25. ?>

Uczę się obiektówki i nie wiem gdzie mam błąd . Nie mogę wyświetlić właściwości sad.gif name i roll
arzach
Dopisz do klasy
  1. public $name;
  2. public $roll

i będzie działać
nospor
Nie:
$this -> $porperties
a:
$this -> porperties

poducz się wpierw podstaw obiektówki wink.gif

Ty arzach zaś poczytaj o metodach magicznych wink.gif
fiasko
No ja się właśnie uczę smile.gif - w książce był błąd u mnie - wrrrrrrrrrr
nospor
Ale ja mówię, byś się wpierw nauczył podstaw a dopiero potem brał za coś bardziej trudniejszego wink.gif
W tej chwili leżałeś na podstawach a już się brałeś za magiczne metody.

Włączy też wyświetlanie wszystkich błędów, bo po odpaleniu twojego kodu to na ekranie powinno się zrobić czarno od błędów. Może wówczas sam byś wpadł co masz nie tak.

Temat: Jak poprawnie zada pytanie
Tu masz napisane jak włączyć wyświetlanie wszytkich błędów. Przy okazji przeczytaj cały watek
fiasko
No nie zupełnie - po prostu tak było w książce , a jak stosować akcesory dostępu to ja wiem. Generalnie jadę naukę z książki więc nie moja wina , że autor wprowadził metody magiczne smile.gif

Mam jeszcze pytanie dlaczego egzemplarz klasy jest wywoływany przez autora tak : $st = new Student() , a nie np. tak $st = new Student; ?
nospor
Bo można i tak i tak. Lepiej jednak z () bo widać od razu co i jak smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.