Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jakie metody w klasie News - jak ma to współgrać?
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

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


Witam,

jestem po lekturze naprawdę wielu tematów na tym forum, w okręg moich zainteresowań weszła także książka "PHP5 Obiekty, wzorce, narzędzia".
Mimo to mam problem co do ułożenia odpowiedniej klasy. Moje problemy:

1. Czy w klasie np. do obsługi newsów powinna znajdować się metoda do wyświetlania konkretnego newsa/newsów jeżeli nie stosuje ścisłego MVC (chce napisać stronę zintegrowaną z innym skryptem od którego będę używał kilka klas i funkcji, m.in. do wyświetlania w przeglądarce html)? Jeżeli nie to powinienem zrobić dla niej osobną funkcję (bez klasy)?

2. Idąc dalej przykładem klasy do obsługi newsów chciałbym zapytać czy lepiej definiować ID newsa już w konstruktorze czy ustalać go manualnie przez metodę np. setId()?

3. Czy opłaca się stworzyć osobną metodę do dodawania elementów do tablicy z danymi newsa (np. addParam($key, $value)(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , czy wyjdzie na to samo (w sensie obiektowym) przekazując pełną tablicę prosto do metody np. update()?

Poniżej zarys klasy:
  1. <?php
  2. class News {
  3. private $newsId  = 0;
  4. private $params = array();
  5.  
  6. public function setId($id) { } // Ustawia id newsa na którym chcemy operować
  7. public function submit() { } // Jeżeli newsId > 0 to aktualizuje, jeśli odwrotnie to tworzy nowy rekord
  8. private function insert() { }
  9. private function update() { }
  10. public function delete() { }
  11. public function addParam($key, $value) { } // Dodaje parametry typu nazwa newsa, autor, treść, źródło do tablicy danych
  12. public function print() { } // Wyświetla newsa, jeżeli ustaliliśmy Id do wyświetla wybrany news, jeżeli nie to
     wszystkie
  13. private function printSpecific() { } 
  14. private function printAll($perPage) { }
  15. }
  16. ?>


Jest tu sens OOP? Co zmienić aby było lepiej?

Pozdrawiam i z góry serdecznie dziękuje za wyjaśnienia!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LBO
post
Post #2





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

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


Cytat(Black-Berry @ 2.09.2008, 22:20:52 ) *
@LBO wszystko super. Metoda Cysiaczka trochę przestaje do mnei przemawiać. Kontekst wydaje się być bardziej odpowiedni. No chyba że tak zaawansowany rejestr to już wyższa szkoła jazdy i nadaje się do systemów operacyjnych, a na poziomie CMS-ów i frameworków kontekst sprawia wrażenie przyjaźniejszego. Co do klas statycznych to nie wiem, funkcje też są fajne ale faktycznie czasem dobrze byłoby je w coś opakować. Takie opakowane funkcje też sie przekazuje kontekstem tak ?

Z wykorzystaniem klas statycznych to był tylko luźny przykład - to jest moje zastosowanie.
Pamiętaj jesteś programistą i sam o wszystkim decydujesz - złotego środka nikt nie poda Tobie na tacy.

A takie opakowane funkcje przekazuje się includem albo autoloaderem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) podstawy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- Joachim Peters   Jakie metody w klasie News - jak ma to współgrać?   28.08.2008, 17:49:48
- - LBO   Generalnie to zależy od ciebie, ale jeżeli obiekt ...   28.08.2008, 18:03:52
- - terabit   @LBO takie pytanko czy jest jakas roznica miedzy...   28.08.2008, 18:07:02
- - LBO   Jest różnica, bo w metodach statycznych opakowujes...   28.08.2008, 18:17:59
- - Sedziwoj   Ogólnie chyba [PHP] pobierz, plaintext <?php$ne...   1.09.2008, 23:35:38
- - Black-Berry   Po co te klasy statyczne? Mi się na przyk...   1.09.2008, 23:45:47
- - Sedziwoj   @Black-Berry A co daje podejście obiektowe, przeci...   2.09.2008, 00:17:20
|- - Black-Berry   Cytat(Sedziwoj @ 2.09.2008, 01:17:20 ...   2.09.2008, 00:46:13
- - LBO   Cytat(Sedziwoj @ 2.09.2008, 00:35:38 ...   2.09.2008, 00:28:26
|- - Sedziwoj   Cytat(LBO @ 2.09.2008, 01:28:26 ) Moż...   2.09.2008, 00:39:38
- - LBO   Heeh, ja to wiem. Pytam się czy takie rozbicie jes...   2.09.2008, 01:41:32
- - Cysiaczek   Globalsów się nie używa... bo nie Singletona się ...   2.09.2008, 06:08:11
|- - Sedziwoj   Cytat(Cysiaczek @ 2.09.2008, 07:08:11...   2.09.2008, 07:41:13
- - Black-Berry   @Sedziwoj Z tego co mówisz pośrednio wynika, ...   2.09.2008, 10:24:36
|- - Sedziwoj   Cytat(Black-Berry @ 2.09.2008, 11:24...   2.09.2008, 10:38:34
|- - Black-Berry   Cytat(Sedziwoj @ 2.09.2008, 11:38:34 ...   2.09.2008, 10:44:28
- - Cysiaczek   Dlaczego tak wszyscy nie lubią Registry? Przecież ...   2.09.2008, 10:39:49
- - Sedziwoj   @Cysiaczek Bo taki Registry, wydaje mi się niedale...   2.09.2008, 10:46:11
|- - Black-Berry   Cytat(Sedziwoj @ 2.09.2008, 11:46:11 ...   2.09.2008, 10:48:04
|- - Sedziwoj   Cytat(Black-Berry @ 2.09.2008, 11:48...   2.09.2008, 11:03:09
- - Cysiaczek   CytatRegistry jest o tyle brzydki że trzeba wiedzi...   2.09.2008, 11:35:59
|- - Black-Berry   Cytat(Cysiaczek @ 2.09.2008, 12:35:59...   2.09.2008, 12:16:38
|- - Sedziwoj   Cytat(Black-Berry @ 2.09.2008, 13:16...   2.09.2008, 12:19:12
- - LBO   Cytat(Cysiaczek @ 2.09.2008, 12:35:59...   2.09.2008, 11:54:07
- - Black-Berry   @Cysiaczek A tak z ciekawości to czy problem ...   2.09.2008, 12:35:30
- - LBO   W takim przypadku jestem za Zendowym rozwiązaniem ...   2.09.2008, 13:14:46
- - Black-Berry   Chcesz zob aczyć coś magicznie ślic...   2.09.2008, 13:19:55
- - LBO   o_O mój boże Zrób z tego obiekt kontekstu. Umieść...   2.09.2008, 13:42:24
- - Black-Berry   A czy taki obiekt kontekstu przekazywany do kazdeg...   2.09.2008, 13:52:33
- - LBO   Nie bo w pełni kontroluję gdzie on jest dostępny.   2.09.2008, 13:58:18
- - Black-Berry   No to teraz już coś rozumiem... Ale w całym framew...   2.09.2008, 14:02:57
- - LBO   Hmmm... jeden i tylko jeden. Cały myk w tym, że ró...   2.09.2008, 14:10:05
- - Black-Berry   @LBO: Dostrzegam Powiedz mi jeszcze po co Ci są p...   2.09.2008, 14:43:26
- - LBO   A kiedy dublujesz settingsy? Powiem Tobie - kiedy ...   2.09.2008, 15:10:41
- - Black-Berry   @LBO wszystko super. Metoda Cysiaczka trochę ...   2.09.2008, 21:20:52
- - LBO   Cytat(Black-Berry @ 2.09.2008, 22:20...   2.09.2008, 21:26:34
|- - Black-Berry   Dzięki za rady:) Wezmę je pod uwagę przy pisaniu n...   2.09.2008, 21:29:34
- - Cysiaczek   To, co pokazałem, to pewna wariacja, a nie sprawdz...   2.09.2008, 21:28:13
|- - Sedziwoj   Cytat(Cysiaczek @ 2.09.2008, 22:28:13...   2.09.2008, 23:26:00
- - LBO   Cytat(Cysiaczek @ 2.09.2008, 22:28:13...   2.09.2008, 21:33:29


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 Aktualny czas: 25.12.2025 - 16:49