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:
Jest tu sens OOP? Co zmienić aby było lepiej? Pozdrawiam i z góry serdecznie dziękuje za wyjaśnienia! |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
@Sedziwoj Z tego co mówisz pośrednio wynika, że najlepiej przekazywać wszystko jawnie w konstruktorze bo moze się okazać, że chcesz np mieć osobne połaczenie z bazą dla przykładowego newsMenager'a. Idąc dalej tym tropem dobrze by było nie przekazywać za każdym razem 15 obiektów tylko już lepiej wrzucić wszystko do rejestru i przekazywać tylko jeden obiekt rejestru. Obiekt główny po którym dziedziczy każdy inny już sobie poustawia odpowiednie pola... Ale zauważ że w ten sposób tuszujesz tylko globalność niektórych obiektów.
No i moje dalsze rozumowanie: Po co tuszować? Nie lepiej w konstruktorze obiektu głównego i tylko w nim użyć słówka kluczowego global aby przypisać globalne obiekty do pól dziedziczących? Wtedy już nic nie musze przekazywać w konstruktorach, no i nie chowam śmieci pod dywan za pomocą rejestru (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Black-Berry 2.09.2008, 10:27:11 |
|
|
|
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 
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 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 23:01 |