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 (1 - 5)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
var $option;
Wyrzuć tę książkę czym prędzej.

http://www.php.net/manual/en/language.oop5...loading.members
Go to the top of the page
+Quote Post
lukaszphp
post
Post #3





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

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


Jakieś wyjaśnienie?

A zresztą wiele osób poleca tą książkę (i tania ona nie była).
PHP i MySQL. Tworzenie stron WWW. Vademecum Profesjonalisty. Wydanie 3
Go to the top of the page
+Quote Post
blooregard
post
Post #4


Newsman


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




Cytat
Jakieś wyjaśnienie?

Tak. To przestarzała składnia, pochodząca z PHP 4.

Cytat
A zresztą wiele osób poleca tą książkę (i tania ona nie była).

Administracja rządowa RP też tania nie jest, a na PO głosowało wielu Polaków.
Efekt jaki jest, każdy widzi na co dzień.

Znasz takie powiedzenie "owczy pęd" ? (bo wielu, to i ja też...)
Pasuje tu jak ulał.

Go to the top of the page
+Quote Post
lukaszphp
post
Post #5





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

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


Dobra, dzięki, już sobie poradziłem. Po prostu usunąłem linijkę:
  1. var $option;

Nie wiem co to dało, ale ważne, że działa. (IMG:style_emoticons/default/tongue.gif)

Ten post edytował lukaszphp 19.12.2009, 00:26:38
Go to the top of the page
+Quote Post
blooregard
post
Post #6


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

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: 20.12.2025 - 23:49