Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [OOP] Początki. Budowa strony.
Forum PHP.pl > Forum > PHP
Riggs
Witam.
Postanowiłem napisać stronę w pełni obiektowo. Chciałbym Was prosić o ocenę czy mój tok rozumowania jest dobry czy to tylko pseudo OOP.
Podam opis strony w uproszczeniu:
Strona ma służyć typowaniu wyników meczu. Użytkownik podaje typ (wynik) meczu oraz najlepszego zawodnika. Czy do tego poniższy układ klas jest odpowiedni ("-" to metody a "#" pola)?
DRUŻYNA:
#id
#nazwa
#id_league (FK do innej klasy)
- dodaj
- usuń
- edytuj
- przypisz ligę

LIGA:
#id
#nazwa
#poziom (czy najwyższa, 2 liga, 3 ect.. Pomijam kraj żeby uprościć)
- dodaj
- usuń
- edytuj
- zmień poziom ligi

ZAWODNIK
#id
#nazwa
#id_club (FK do klasy ligi)
- dodaj
- usuń
- edytuj
- zmień klub

MECZ:
#id
#id_team1
#id_team2
#id_season //id sezonu
#id_day //klasa kolejki rozgrywek - oczywiście w klasie operacje zamknięcia kolejki itp ale upraszczam schemat
#result
- dodaj
- usuń
- edytuj
- wprowadź wynik itp.

I tak np na stronie team.add.php zrobie:
  1. $team = new Team();
  2. $team->name = "Barcelona";
  3. $team->id_league = 1; //np. id Primera Division
  4. $team->save(); //to można w if'y i obsługa błędów
  5.  
  6. //... tu dalszy kod strony itp

A dla meczu np:
  1. $match = new Match();
  2. $match->team1 = Team::getById(1);//np. z formularza. Mogę też ustawiać przez metody set dla klasy MATCH
  3. $match->team2 = Team::getById(6);
  4. ... reszta ...
  5. $match->save();

I tak dla każdej podstrony.

Czy to jest programowanie obiektowe czy jakiś pseudo twór z użyciem klas. Pomijam tu kwestie MVC bo dla mnie to jeszcze za wcześnie i raczej w moim projekcie się nie sprawdzi.
Proszę o wszelkie opinie.
smentek
Nie to nie jest programowanie zorientowane na obiekty, to jest programowanie zorientowane na naukę programowania smile.gif.

Proponuje stworzyć osobny dział dla postów zaczynających się od:

"Postanowiłem stworzyć obiektowo(...)"
oraz kończących się na:

"(...) Czy to jest obiektowo?"
Riggs
Niezwykle pomocny post. Jest taka zasada że jak się nie ma nic do powiedzenia to się nie zabiera głosu. Nie chcesz pomóc to nie ale takie komentarze zachowaj dla siebie.
A moje pytanie jest jak najbardziej zasadne gdyż jest bardzo mało informacji na temat obiektowego programowania stron od strony praktycznej. Co z tego że ktoś zamieści tutoriala bardzo dokładnie opisującego klasę Dog i jej skomplikowaną metodę "Bark" jak to nie ma zastosowania w praktyce. A odsyłanie początkujących z OOP do kodu źródłowego Zenda(który jest nienaturalnie obiektowy) to nie jest droga do nauczenia się programowania.
Atomic_Cookie`
$team->name = "Barcelona";
To wrzuciłbym do kontruktora, a save() do destruktora.
Cysiaczek
Za słabe na oop - przenoszę wyżej.
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.