Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Klasa związana z bazą danych - do czego użyć konstruktora?
express
post 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?
Go to the top of the page
+Quote Post
aniolekx
post 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
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 12.05.2024 - 14:34