Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Programowanie obiektowe, Pomocy! :P
lukaszphp
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 29.11.2009

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


Jako iż dopiero zacząłem zabawę z obiektowym PHP (uczę się z książki), mam tutaj taki prosty skrypcik.

  1. class engine
  2. {
  3.  
  4. var $option;
  5.  
  6. function __set($variable, $value)
  7. {
  8.  
  9. if ($variable == "option" && $value < 100)
  10. $this -> $variable = $value;
  11.  
  12. }
  13.  
  14. }


No i z tego wynika (przynajmniej moim zdaniem), że jeśli zmienna variable jest zmienną option i wartość jest mniejsza niż 100, to wtedy zmienna variable przechowuje wartość value.

No i fajnie, ale jak teraz napiszę sobie coś takiego:

  1. $engine = new engine();
  2. $engine -> option = 101;
  3.  
  4. echo $engine -> option;


To 101 Mi się dalej wyświetla, czy coś jest nie tak? Czy źle rozumuję? (IMG:style_emoticons/default/smile.gif)

Z góry dzięki za pomoc,
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Nie wiem co to dało, ale ważne, że działa.

W ten sposób daleko nie zajdziesz.
Musisz wiedzieć, dlaczego zadziałało.

W tym celu na początku każdego skryptu dodawaj:
  1. ini_set('display_errors' , 'on');

i czytaj komunikaty, jakie wyświetla Ci interpreter. Jesli czegoś nie będziesz rozumiał, pytaj. Ale najpierw staraj się zrozumieć samodzielnie, to najlepsza metoda nauki.

var $zmienna - to sposób deklarowania składowej klasy w PHP w wersji 4.
W obecnej wersji (PHP 5) składowe klasy deklarujemy za pomocą modyfikatorów dostępu, znanych z innych języków OOP (C++, Java), czyli: private, protected i public.

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: 29.12.2025 - 07:29