Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kolejny temat w stylu "dobrze rozumuję?"
owi
post 7.10.2008, 01:39:16
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 6.10.2008

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


Coś tam w swoim życiu w php napisałem. Dopóki koncentrowałem się na frontendzie to mi strukturalne programowanie wystarczało (strony dla malych firm nie wymagały bycia alfą i omegą z php). Teraz jednak chcialem się bardziej skoncentrować na php, ogarnąc troszke frameworki więc uznałem, że konieczne będzie poznanie OOP w php.

Przeczytałem pare kursów dziś i wczoraj.
Na razie to mam jeden wielki mętlik. W zasadzie coś juz tam tworze, ale najwazniejsze dla mnie jest zrozumienie logiki.

Czyli załóżmy yyyyy eeeeeee, że chce zrobić powiedzmy system newsowy.

To czy jezeli utworzę:

klasa: newsy
właściwosci :tytul,autor,data, tresc etc
metody: dodaj newsa, usun newsa, edytuj newsa, wyswietl newsa

to czy będzie to poprawne logicznie rozumowanie? Czy to będzie juz oop, czy może już o tej godzinie po takiej ilości tekstu i informacji pierniczę jak potłuczony?
Jak do takiej klasy dolaczyc komentarze? Czy utworzyc sobie analogicznie klasę komentarze z odpowiednimi polami i metodami ( w zasadzie identycznymi) czy jak?


edit:

Teraz jeszcze sobie tak wydumałem, że wyświetlanie newsa mogłoby być oddzielone od samej klasy.hm?

Ten post edytował owi 7.10.2008, 01:58:30


--------------------
eee yyy portfolio
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LBO
post 7.10.2008, 08:05:47
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Tak, dobrze rozumujesz.

Radziłbym Tobie poszukać podobnych tematów - jest Ich mnóstwo - Sam pamiętam jeden gdzie sie szeroko o tym wypowiadałem.

Wyswietlanie powinno być oddzielone od samej klasy która trzyma dane. Jest to naturalne i bardzo wygodne podejście. Daje dużą elastyczność.

Jestem przeciwny takim smaczkom (odnosząc się do twojego przykładu) jak:

  1. <?php
  2. $news = new News(1); // pobieramy news o identyfikatorze id = 1
  3. $news->showAsHTML(); // blee
  4. ?>


lepiej wygląda jak klasa news nie jest tak wyspecjalizowana i zajmuje sie tylko zapisywaniem lub zwracaniem danych:

  1. //skrypt wyswietlający html
  2. <h2><?php print $news->getTitle(); ?></h2>
  3. <p><?php print $news->getBody(); ?></p>
  4. <span>autor: <?php print $news->getAuthor(); ?></span>


lub

  1. <?php
  2. //skrypt wyswietlający JSON
  3. $data = array(
  4. 'title' => $news->getTitle(),
  5. 'body' => $news->getBody(),
  6. 'author' => $news->getAuthor()
  7. )
  8. print json_encode($data);
  9. ?>


Oczywiście to jest uproszczony przykład, po bardziej skomplikowane rozwiązania zapraszam do zapoznania się z którymś z wiądących frameworków smile.gif Po to są.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 18:22