Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Metody magiczne - przeciążenie metody, gdzie mam błąd ?
fiasko
post 2.08.2011, 18:35:41
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 1
Dołączył: 1.06.2010

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


  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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
arzach
post 2.08.2011, 18:39:36
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Dopisz do klasy
  1. public $name;
  2. public $roll

i będzie działać

Ten post edytował arzach 2.08.2011, 18:39:57
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 18:52:42
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie:
$this -> $porperties
a:
$this -> porperties

poducz się wpierw podstaw obiektówki wink.gif

Ty arzach zaś poczytaj o metodach magicznych wink.gif


--------------------

"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
fiasko
post 2.08.2011, 19:03:00
Post #4





Grupa: Zarejestrowani
Postów: 243
Pomógł: 1
Dołączył: 1.06.2010

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


No ja się właśnie uczę smile.gif - w książce był błąd u mnie - wrrrrrrrrrr
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 19:05:06
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"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
fiasko
post 2.08.2011, 19:17:02
Post #6





Grupa: Zarejestrowani
Postów: 243
Pomógł: 1
Dołączył: 1.06.2010

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


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; ?
Go to the top of the page
+Quote Post
nospor
post 2.08.2011, 19:20:44
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo można i tak i tak. Lepiej jednak z () bo widać od razu co i jak smile.gif


--------------------

"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 Wersja Lo-Fi Aktualny czas: 26.06.2025 - 20:16