Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] metody magiczne __set i __get
Wolfie
post
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam,


Napisałem sobie taką klasę :

  1. class Window {
  2.  
  3. function __set($name, $value) {
  4. $this->name = $value;
  5. }
  6.  
  7. function __get($name) {
  8. if(isset($name)) {
  9. return $this->name;
  10. } else {
  11. throw new Exception ('Pole '.$name.' nie istnieje');
  12. }
  13. }
  14. }


Ale jest jakiś błąd w metodzie __get w warunkach, z którym nie mogę sobie poradzić, a mianowicie :

gdy uruchamiam skrypt w ten sposób :

  1. try {
  2. $window = new Window();
  3. $window->height = 'wysokosc';
  4. echo $window->height;
  5. echo $window->width;
  6. } catch (Exception $e) {
  7. echo 'Błąd: ', $e->getMessage(), "\n";
  8. }



To dostaje takie coś :

Cytat
wysokoscwysokosc


A powinienem dostać cośtakiego :

Cytat
wysokosc
Błąd : Pole width nie istnieje


Chyba nie do konca rozumiem metode magiczna __get() czy może mi ktoś wyjaśnić co jest nie tak ?
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 09:01