Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ogólne zrozumienie programowanie obiektowego php
Forum PHP.pl > Forum > Przedszkole
Deen
Witam wszystkich, często piszę prośby na tym forum, zazwyczaj dostaję oczekiwane odpowiedzi, dzisiaj jednak piszę w dość nietypowej sprawie.
Dla zabawy postanowiłem zrobić sobie taki trochę większy projekt (php, mysql elementy js) mini portalik który może kiedyś umieszczę w sieci, może nie.
Chciałem się nauczyć czegoś podczas jego tworzenia, przeglądając sieć w poszukiwaniu kursów php poznałem pętle, sesje i inne podstawy w php.
Pytanie mam co do programowania obiektowego w php.
Chodzi tutaj o klasy i obiekty.
W jaki sposób najłatwiej pojąć po co to w ogóle jest potrzebne, w jakich sytuacjach użyć, zamiast czego itp.
Nie mogę ogarnąć tego może Wy macie jakieś pomysły jak do tego podejść, nie chodzi tutaj o naukę programowania obiektowego tylko praktyczne przykłady które pokażą po co to jest.
Dajmy na to widziałem gdzieś jakis przykład z włączaniem i wyłączaniem żarówki, no ok ale jakie ma to zastosowanie na normalnych portalach.

Zapraszam do rozmowy, wypowiedzcie się na ten temat, pomóżcie innym zrozumieć o co chodzi. Pozdrawiam.
Ghost_78
najprosciej mowiac klasa to poslaczenie struktury (tablicy) z funkcjami. tak jak pisales o przykladzie żarówki - bardzo dobry przyklad.
chcesz cos innego to zobacz na ponizszy banalny przyklad:

  1. class liczby {
  2. public $liczba1;
  3. public $liczba2;
  4.  
  5. public function dodaj(){
  6. echo $this->liczba1 + $this->liczba2;
  7. }
  8.  
  9. public function odejmij(){
  10. echo $this->liczba1 - $this->liczba2;
  11. }
  12. }
  13.  
  14.  
  15. $ob = new liczby();
  16. $ob->liczba1 = 10;
  17. $ob->liczba2 = 5;
  18. $ob->dodaj();
  19. $ob->odejmij();


na podstawie powyzszego przykladu mozesz sobie zrobic prosty kalkulator. jezeli poznales juz troche PHP to pomysl teraz jak musialbys to rozwiazac w sposob bez uzycia obiektow.

kolejny przykład. pobierasz sobie z bazy danych dane osoby i chcesz sobie w rozny sposob formatowac jego dane:
  1.  
  2. //definiujesz klase
  3. class Osoba{
  4. public $imie;
  5. public $nazwisko;
  6. public $adres;
  7.  
  8. public function __construct($idOsobyWbazie){
  9. //tu robisz sobie odczyt z bazy i przypisujesz odpowiednie dane
  10. $query=mysql_query("SELECT * FROM osoby WHERE id='$idOsobyWbazie' ");
  11. $row=mysql_fetch_assoc($query);
  12. $this->imie = $row[imie];
  13. $this->nazwisko = $row[nazwisko];
  14. $this->adres = $row[adres];
  15. }
  16.  
  17. public function pokazImie(){
  18. echo $this->imie;
  19. }
  20.  
  21. public function pokazNazwisko(){
  22. echo $this->nazwisko;
  23. }
  24.  
  25. public function pokazLadnieDane(){
  26. echo '<table border="1">';
  27. echo '<tr><td>'.$this->imie.'</td><td>'.$this->nazwisko.'</td></tr>';
  28. echo '<tr><td colspan="2">'.$this->imie.'</td></tr>';
  29. echo '</table>';
  30. }
  31. }
  32.  
  33. // tworzysz obiekty osob
  34. $osoba1 = new Osoba(1);
  35. $osoba1->pokazLadneDane();
  36.  
  37. $osoba2 = new Osoba(5);
  38. $osoba2->pokazLadneDane();


pisane z glowy wiec moze miec jakies male bledy

klasy to kolejny sposob miedzy innymi na uproszczenie kodu i poprawienie jego czytelnosci - poza tym jak pocwiczysz troche z prostymi klasami i zaczniesz budowac troche bardziej skomplikowane to zobaczysz jakie to dobrodziejstwo.
wookieb
Ja p......
Tematów z tej dziedziny jest tyle ile mrówków nad którymi siedze. Od tego są całe książki, tematy na forum więc nie zawracaj "słowiowej" dupy takimi redundantnymi pytaniami.
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.