Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]początki własnych klas
bialko0019
post
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 4
Dołączył: 19.12.2008

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


Witam.

Wiem mniej więcej o co chodzi w klasach, jednak jakoś coś mi nie wychodzi przy tworzeniu odpowiedniej. Nakierujcie mnie, co robię źle.

  1.  
  2. class produkty {
  3.  
  4. var $id, $nazwa, $cena;
  5.  
  6. function artykul($id)
  7. {
  8.  
  9. [..]
  10. $dana = mysql_fetch_array($zapytanie);
  11.  
  12. $this->id=$dana['id'];
  13. $this->nazwa=$dana['nazwa'];
  14. $this->cena=$dana['cena'];
  15.  
  16. }
  17.  
  18. }
  19.  
  20. /// teraz chcę wyświetlić konkretny produkt po ID czyli chyba?:
  21.  
  22.  
  23. $produkt = new produkty;
  24. $produkt->artykul(20); // jak to wyświetlę to chciałbym mieć możliwośc wyboru konretnej danej, np. tutaj chcę wyświetlić nazwą produktu, o - a tutaj cenę ? Dlatego myślałem coś o tym:
  25. echo $produkt->artykul(20)->nazwa;
  26.  
  27.  


ale to jest nie poprawne... Przypuścmy chcę utworzyć klasę a w niej funkcję, która szuka konkretnego produktu po ID. Tak napisałęm "po swojemu" jednak nie wiem jak wyciągnąć konkretną danę z funkcji - np. cenę i nazwę ?

Jak to zrobić ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wdev
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 20
Dołączył: 20.01.2010

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


1. Wywołując w sposób $obiekt->własność odwołujesz się do konkretnego obiektu. Musisz więc wywołać własność OBIEKTU (produkt), a nie klasy(produkty).
  1. $produkt = new produkty; // obiekt = new klasa;
  2. $produkt->artykul()
  3. echo $produkt->ala; // tu miałeś żle produktY!!!

2. Nie możesz wywołać nieistniejącej własności (przynajmniej nie będziemy się zagłębiać w to jak to się robi), więc zmienna $ala musi być zadeklarowana wewnątrz klasy.
3. Jakie masz ustawienia raportowania błędów? Bo Twój skrypt od razu zwrócił dwa błędy typu E_NOTICE, ustaw sobie w php.ini, żeby Ci je wyświetlało (IMG:style_emoticons/default/winksmiley.jpg)
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: 7.10.2025 - 08:17