Klasa związana z bazą danych - do czego użyć konstruktora? |
Klasa związana z bazą danych - do czego użyć konstruktora? |
3.11.2015, 02:54:20
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 1.09.2010 Ostrzeżenie: (0%) |
Pytanie może trywialne, ale nie mogę się sam przekonac do żadnej opcji. Może to pytanie o dobre praktyki, wynikające z braku doświadczenia? Sam nie wiem.
Piszę klasę. Dla uproszczenia przyjmijmy, że tworzę system newsów - jak to mniej więcej działa każdy wie, więc to niezłe przybliżenie. Obiektem klasy ma byc news - ma swojego autora, datę publikacji, tytuł treść... Może być napisany, wyświetlony, zmieniony, usunięty. Proste. Właściwości obiektu są ściśle powiązane z rekordem w tablece bazy danych. Co waszym zdaniem powinien robić konstruktor? 1) może stworzyć nowego newsa - nowy rekord w bazie po podaniu odpowiednich danych, lub stworzyć obiekt i czekać na resztę danych aby zapisać go w bazie (ta różnica jest a razie nieistotna) 2) lub też może stworzyć obiekt o dostarczonym konstruktorowi ID poprzez wyciągnięcie danych z bazy Obie funkcje są potrzebne, i wydaje mi się, że każda z nich jest poprawna - bo każda tworzy rzeczywiście nowy obiekt - z punktu widzenia skryptu. Teraz - jeśli konstruktor bedzie służył uwtorzeniu (opcja 1) nowego nwsa, nowego rekordu, to jak używać newsów już zapisanych w bazie? A jeśli zastosuję opcję 2 - jak dodać całkiem nowego newsa? Robienie takich ifów w konstruktorze wydaje mi się pokraczne. Pytanie dodatkowe: w powyższym przypadku, żeby wyświetlić listę newsów na stronie, pobranie ich listy z bazy za pomocą metody statycznej będzie po bożemu, czy są na to jakieś inne, mądre sposoby? |
|
|
3.11.2015, 09:14:42
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) |
jezeli mowisz o Encji, to Encja nie powinna nic wiedziec o zadnej bazie danych
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 17:55 |