Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] klasy...
Forum PHP.pl > Forum > Przedszkole
cycofiasz
Witam, mam taki kodzik, kompletnie nie znam się na klasach i objektowości... Co jest w nim źle? Nie szukam alternatywnych rozwiązań, tylko błędu tongue.gif

Kod
class prod {
  }
  
  $ob = new prod();
  $ob->nabial = "mleko";
  print("$ob");
rafalp
Nawiasy :]

  1. <?php
  2. class prod { 
  3.  
  4.  
  5. $ob = new prod(); // gdzies indziej musisz miec klase "prod"
  6. $ob->nabial = "mleko"; // musisz mieć gdzieś zadeklaroweną zmieną "nabiał"
  7. print($ob); // a to musi znaleść się w jakiejś innej funkcji żeby działało (no i bez cudzysłowiów)
  8.  
  9. }
  10. ?>


ogólnie to w cały świat to napisane.
bogdan89
poczytaj lepiej o programowaniu obiektowym.
Kurs:
czesc 1
czesc 2
czesc 3
cycofiasz
Taki mam zamiar tongue.gif Ale co zrobić by wyświetlała się ta zmienna, nie usuwając klas...?
rafalp
  1. <?php
  2. class prod { 
  3.  
  4. var $nabial;
  5.  
  6. function drukuj()
  7. {
  8. print($this->nabial);
  9. }
  10.  
  11. }
  12.  
  13.  
  14. $ob = new prod();
  15. $ob->nabial = "mleko";
  16. $ob->drukuj();
  17.  
  18. ?>
maziak
W sumie to tak:
(ale zdecydowanie przeczytaj kurs)
  1. <?php
  2. class prod {
  3. var $nabial;
  4. }
  5.  
  6. $ob = new prod();
  7. $ob->nabial = 'mleko';
  8.  
  9. echo $ob->nabial;
  10. ?>


Chociaż, w zasadzie jak chciałbyś dobierać się do tej zmiennej za pomocą print($klasa) to skorzystaj z funkcji __toString. (PHP5) Funkcja ta definiuje jak klasa ma się zachować wobec próby wyświetlenia jej.

  1. <?php
  2. class prod {
  3. var $nabial;
  4.  
  5. function __toString() {
  6. return $this->nabial;
  7. }
  8. }
  9.  
  10. $ob = new prod();
  11. $ob->nabial = 'mleko';
  12.  
  13. print($ob);
  14. ?>


edit : No i mnie ktos uprzedzil.

@up: upewnij sie, ze Twoj kodzik działa smile.gif
edit : ok, widze ze juz poprawiles.
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.