![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Pytanie dotyczy klas modelu w rozumieniu wzorca MVC, a ma zastosowanie chyba do prawie kazdego rodzaju danych przechowywanych w bazie. Otoz jesli mamy jakiekolwiek obiekty (uzytkownikow, ogloszenia, wiadomosci, itp.), to zazwyczaj istnieje potrzeba przeprowadzania operacji na pojedynczym obiekcie (dodanie, usuniecie, edycja itp.) oraz na grupie obiektow, spelniajacych okreslone kryteria (np. wyswietlenie listy uzytkownikow, ogloszen itp.). Jaka tworzycie tutaj strukture klas? Czy robicie dwie klasy, z ktorych jedna reprezentuje pojedynczy obiekt a druga liste takich obiektow (np. Uzytkownik i ListaUzytkownikow)? A moze jedna klasa (np. Uzytkownik) posiada metody obslugujace obie mozliwosci, np. pobierz($id) dla pojedynczego obiektu i pobierzListe() dla calej listy obiektow? A moze jeszcze inaczej? EDIT: Wlasciwie to ten temat powinienem dac do PHP > Programowanie obiektowe. Moze moderator zechcialby go przeniesc? Ten post edytował marcini82 3.03.2007, 14:58:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 1 Dołączył: 20.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chodzi o relacje. A no to w takim razie ja bym zrobil cos takiego:
Jak mamy w $joins okreslone kolumny na ktorych robimy zlaczenia to mozemy to wykorzystac w uniwersalnej metodzie DatabaseMappera. A jak trzeba cos bardziej wyrafinowanego wyciagnac niz proste zlaczenie 2-3 tabel to lepiej w NewsContainer nadpisac metode z DatabaseMapper i wklepac nowe zapytanie. Wlasciwie to ja bym tego nie nazwal wyzsza szkola jazdy bo to raczej podstawy relacyjnych baz danych (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Napisanie dobrej i uniwersalnej struktury klas to juz co innego... Sposobu praktycznego wykorzystania tego $hasOne nadal nie zalapalem, ale to moze nie jest takie istotne... Ten post edytował marcini82 11.03.2007, 12:24:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 00:38 |