Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> lista obiektow
Gecco
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 4
Dołączył: 22.10.2006

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


problem prawodopodobnie jest prosty ale nigdzie nie moglem znalesc tego - pewnie zle szukam (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)

dopiero zaczynam z programowaniem obiektowy i dla mnie to troche abstrakcja

zalozmy ze mamy wyswietlic liste 10 ostatnich newsow. mam klase 'news' aby pobrac dane trzeba podac w konstruktorze id, ten z koleji ustawia wszystkie dane po koleji. problem jest taki zeby pobrac kazdego newsa a) musimy znac jego id (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) za kazdym razem wykonuje zapytanie mysql, wiec w sumie wykonujemy 11 zapytan wiec rozwiazanie jest do wiadomo czego (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)

pytanie jak to napisac aby to bylo dobrze
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jarek_bolo
post
Post #2





Grupa: Zarejestrowani
Postów: 149
Pomógł: 12
Dołączył: 3.03.2008
Skąd: łódzkie

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


No tylko, że w tym momencie burzy nam to zasady, że obiekt = news, JEDEN news. No i klasa News staje się miejscem skupiającym funkcje newsów. Co jest (jak gdzieś kiedyś czytałem) typowe dla nie pełnego myślenia obiektowego, sam też tak mam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ja skłaniał bym się do wykorzystania również Data Access Objects.
Mamy automatycznie dwa razy więcej obiektów, bo każdy z obiektów w systemie, który istnieje w bazie powinien mieć swój DAO.
Więcej znajdziesz tutaj: http://www.odi.ch/prog/design/php/guide.php

Wtedy dajesz:
  1. <?php
  2. $newsDAO = new NewsDAO($db);
  3. $lastNewses = $newsDAO->getLastNewses();
  4. ?>

Co zwróci powyższa metoda wybierz sam:
1) tablica wypełniona już obiektami News,
2) asocjacyjna tablica zbudowana z wyniku zapytania,
3) obiekt $statment na którym było wykonane execute()
Za dwoma ostatnimi przemawia względna niezależność od siebie klas News i NewsDAO, chociaż w tym wypadku te klasy są skazane na współpracę ze sobą, więc wygoda pierwszego rozwiązania też jest ok.

Ten post edytował jarek_bolo 25.05.2008, 19:44:37
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 16:33